also ich weiss nicht was du speziell meinst, ich ignoriere keinen einzigen Tip, im Gegenteil. Siehst du noch lokale globale Variablen? Vielleicht reden wir nur manchmal aneinander vorbei;)
lg und schönen Morgen noch
also ich weiss nicht was du speziell meinst, ich ignoriere keinen einzigen Tip, im Gegenteil. Siehst du noch lokale globale Variablen? Vielleicht reden wir nur manchmal aneinander vorbei;)
lg und schönen Morgen noch
Jo hallo und guten Morgen, ich sehe zwar aschon, dass man mich für ein bischen bescheuert hält, anhand der unterschwelligen Äüsserungen, aber muss ich wohl mit leben. Ich hatte den Vorschlag aufgegriffen und habe den check auf den Typ jetzt entsorechend weiter vorgelagert, vor die Stelle, wo der Handling check kommt, habe es 1:1 so gemacht, leider zeigt er mir jetzt immer an das der Dateityp der gedroppten Datei falsch wäre, vielleicht sieht ja von Euch jemand den Fehler. Das Script sieht jetzt so aus:
Opt('MustDeclareVars', 1)
#AutoIt3Wrapper_Au3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7
#include <GuiConstants.au3>
#include <FileConstants.au3>
#include <ProcessConstants.au3>
#include <WinAPIHObj.au3>
#include <WinAPIProc.au3>
#include <WinAPISys.au3>
#include <WinAPIProc.au3>
#include <WinAPISys.au3>
#include <File.au3>
global $iError, $sFile, $szDrive, $SzDir, $szFname, $szExt, $SPath, $tMaxTries, $tTry
Global $iWidth=530, $iHeight=120, $iBorder=10
;GUI
Global $hMainGui = GUICreate('Zert Dropper', $iWidth, $iHeight, @DesktopWidth/2-$iWidth/2, @DesktopHeight/2-$iHeight/2, _
Default, BitOR($WS_EX_ACCEPTFILES,$WS_EX_TOPMOST))
Global $iInfoLabel = GUICtrlCreateLabel('Bitte ziehen Sie mit der Maus die erhaltene PFX-Datei in dieses Fenster ' & _
'und lassen es hier fallen, danach geben Sie Ihr Passwort ein, welches ' & _
'Sie per Mail erhalten haben, den Rest erledige ich für Sie.', _
$iBorder, $iBorder, $iWidth-2*$iBorder, $iHeight-2*$iBorder)
GUICtrlSetFont($iInfoLabel, 16, 0, "Arial")
GUICtrlSetBkColor($iInfoLabel, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetState($iInfoLabel, $GUI_DROPACCEPTED)
GUISetState(@SW_SHOW, $hMainGui)
_mainLoop()
Func _mainLoop()
While Sleep(10)
Local $iMsg = GUIGetMsg()
Switch $iMsg
case $GUI_EVENT_CLOSE
GUIDelete($hMainGui)
Exit
case $GUI_EVENT_DROPPED
If @GUI_DropId = $iInfoLabel Then
Local $sFile = @GUI_DragFile
$sPath = _PathSplit($sFile, $szDrive, $szDir, $szFName, $szExt)
Local $tTry = 0, $tMaxTries = 3
While $tTry<$tMaxTries
if Not _checkTyp($spath) Then
Switch @error
case 4
MsgBox(16, "Fehler", "Falsche Datei." & _
@CRLF & "Fehler Info: " & @extended, @extended, $hMainGui)
return
EndSwitch
Else
ExitLoop
EndIf
$tTry+=1
WEnd
Local $iTry = 0, $iMaxTries = 3
While $iTry<$iMaxTries
If Not _handleFile($sFile) Then
Switch @error
case 4
MsgBox(16, "Fehler", "Falsche Datei." & _
@CRLF & "Fehler Info: " & @extended, @extended, $hMainGui)
case 1
MsgBox(16, "Fehler", "Sie haben keine Datei gedropped, oder die Datei existiert nicht." & _
@CRLF & "Fehler Info: " & @extended, Default, $hMainGui)
case 2
MsgBox(16, "Fehler", "Das Passwort konnte nicht erfolgreich abgefragt werden." & _
@CRLF & "Fehler Info: " & @extended, Default, $hMainGui)
case 3
MsgBox(16, "Fehler", "Das Passwort war falsch, bitte noch mal versuchen ", Default, $hMainGui)
EndSwitch
Else
GUIDelete()
SplashTextOn('Herzlichen Glückwunsch', '"VPN Zertifikat wurde installiert, war doch einfach oder?"', 300, 60, -1, -1, $DLG_NOTITLE)
Sleep(7000)
SplashOff()
ExitLoop
EndIf
$iTry+=1
WEnd
If $iTry=$iMaxTries Then MsgBox(16, "Fehler", "Leider hat das nicht geklappt. Der Vorgang wurde abgebrochen. Bitte ziehen Sie erneut die PFX Datei in das Fenster!", Default, $hMainGui)
EndIf
EndSwitch
WEnd
EndFunc
Func _checkTyp($sPath)
If Not $sPath = ".pfx" Then return SetError(4, @extended, False) ;Falscher DateiTyp
MsgBox(16, "Fehler", @Error )
return True
EndFunc
Func _handleFile($sFile)
If Not FileExists($sFile) Then return SetError(1, 0, False) ;keine Datei gedroppt
Local $sPassword = _getPassword()
If @error Then return SetError(2, @extended, False)
_makeCert($sFile, $sPassword)
If @error Then return SetError(3, @error, False)
return True
EndFunc
Func _getPassword()
;$inp = InputBox("Bitte geben Sie Ihr Passwort ein:", "", "", "*")
Local $sPassword = InputBox("Sicherheit", "Geben Sie das Passwort für das Zertifikat ein.", "", " M20", Default, Default, Default, Default, Default, $hMainGui)
If @error Then return SetError(1, @error, "")
return $sPassword
EndFunc
Func _makeCert($sFile, $sPassword)
Local $sCmd = 'certutil -f -p ' & $sPassword & ' -user -importpfx "' & $sFile & '"'
Local $iPID = Run(@ComSpec & " /c " & $sCmd, "", @SW_HIDE) ; use /k instead of /c to see commandline result
If @error Then SetError(1, @error, False)
Local $hProcess = _WinAPI_OpenProcess($PROCESS_QUERY_LIMITED_INFORMATION, 0, $iPID)
If @error Then SetError(2, @error, False)
While ProcessExists($iPID) and Sleep(10)
WEnd
Local $iError = _WinAPI_GetExitCodeProcess($hProcess)
_WinAPI_CloseHandle($hProcess)
If $iError<>0 Then SetError(3, $iError, False)
return True
EndFunc
Alles anzeigen
Liebe Grüße und schönen Morgen noch, und Danke allen Helfen, tut mir ja auch leid dass ich bei AutoIt noch nicht so lange dabei bin wie Ihr;)
So ich habe jetzt noch mal versucht um eine Sache zu ergänzen, und zwar möchte ich gerne abchecken, ob es sich überhaupt um eine pfx Datei handelt, dies wollte ich über die Split Funktion prüfen und habe diesen Fall dann in die _handleFile versucht einzuarbeiten als case4, aber leider wird es komplett ignoriert, wäre hier evtl.eine andere Stelle sinnvoller: Mein modifiziertes Script sieht nun so aus?
Opt('MustDeclareVars', 1)
#AutoIt3Wrapper_Au3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7
#include <GuiConstants.au3>
#include <FileConstants.au3>
#include <ProcessConstants.au3>
#include <WinAPIHObj.au3>
#include <WinAPIProc.au3>
#include <WinAPISys.au3>
#include <File.au3>
#include <ProcessConstants.au3>
#include <WinAPIHObj.au3>
#include <WinAPIProc.au3>
#include <WinAPISys.au3>
global $iError, $sFile, $szDrive, $SzDir, $szFname, $szExt, $SPath
Global $iWidth=530, $iHeight=120, $iBorder=10
Global $hMainGui = GUICreate('LARCH-Zert Dropper', $iWidth, $iHeight, @DesktopWidth/2-$iWidth/2, @DesktopHeight/2-$iHeight/2, _
Default, BitOR($WS_EX_ACCEPTFILES,$WS_EX_TOPMOST))
Global $iInfoLabel = GUICtrlCreateLabel('Bitte ziehen Sie mit der Maus die erhaltene PFX-Datei in dieses Fenster ' & _
'und lassen es hier fallen, danach geben Sie Ihr Passwort ein, welches ' & _
'Sie per Mail erhalten haben, den Rest erledige ich für Sie.', _
$iBorder, $iBorder, $iWidth-2*$iBorder, $iHeight-2*$iBorder)
GUICtrlSetFont($iInfoLabel, 16, 0, "Arial")
GUICtrlSetBkColor($iInfoLabel, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetState($iInfoLabel, $GUI_DROPACCEPTED)
GUISetState(@SW_SHOW, $hMainGui)
_mainLoop()
Func _mainLoop()
While Sleep(10)
Local $iMsg = GUIGetMsg()
Switch $iMsg
case $GUI_EVENT_CLOSE
GUIDelete($hMainGui)
Exit
case $GUI_EVENT_DROPPED
If @GUI_DropId = $iInfoLabel Then
Local $sFile = @GUI_DragFile
Local $iTry = 0, $iMaxTries = 7
While $iTry<$iMaxTries
If Not _handleFile($sFile) Then
Switch @error
case 1
MsgBox(16, "Fehler", "Sie haben keine Datei gedropped, oder die Datei existiert nicht." & _
@CRLF & "Fehler Info: " & @extended, Default, $hMainGui)
case 2
MsgBox(16, "Fehler", "Das Passwort konnte nicht erfolgreich abgefragt werden." & _
@CRLF & "Fehler Info: " & @extended, Default, $hMainGui)
case 3
MsgBox(16, "Fehler", "Das Certifikat konnte nicht erfolgreich erstellt werden." & _
; @CRLF & "Fehler Info:Passwort war falsch " & @extended, Default, $hMainGui)
MsgBox(16, "Fehler", "Das Passwort war falsch, bitte noch mal versuchen ", Default, $hMainGui)
; case 4
; MsgBox(16, "Fehler", "Falscher Dateityp, bitte noch mal.")
EndSwitch
Else
GUIDelete()
SplashTextOn('Herzlichen Glückwunsch', '"VPN Zertifikat wurde installiert, war doch einfach oder?"', 300, 60, -1, -1, $DLG_NOTITLE)
Sleep(7000)
SplashOff()
ExitLoop
EndIf
$iTry+=1
WEnd
If $iTry=$iMaxTries Then MsgBox(16, "Fehler", "Leider hat das nicht geklappt. Bitte die richtige Datei in das Fenster ziehen!", Default, $hMainGui)
EndIf
EndSwitch
WEnd
EndFunc
Func _handleFile($sFile)
$sPath = _PathSplit($sFile, $szDrive, $szDir, $szFName, $szExt)
If Not FileExists($sFile) Then return SetError(1, 0, False)
Local $sPassword = _getPassword()
If @error Then return SetError(2, @extended, False)
_makeCert($sFile, $sPassword)
If @error Then return SetError(3, @error, False)
; IF Not $spath = ".pfx" Then return SetError(4, 0, True)
return True
EndFunc
Func _getPassword()
IF Not $spath = ".pfx" Then return
;$inp = InputBox("Bitte geben Sie Ihr Passwort ein:", "", "", "*")
Local $sPassword = InputBox("Sicherheit", "Geben Sie das Passwort für das Zertifikat ein.", "", " M20", Default, Default, Default, Default, Default, $hMainGui)
If @error Then return SetError(1, @error, "")
return $sPassword
EndFunc
Func _makeCert($sFile, $sPassword)
Local $sCmd = 'certutil -f -p ' & $sPassword & ' -user -importpfx "' & $sFile & '"'
Local $iPID = Run(@ComSpec & " /c " & $sCmd, "", @SW_HIDE) ; use /k instead of /c to see commandline result
If @error Then SetError(1, @error, False)
Local $hProcess = _WinAPI_OpenProcess($PROCESS_QUERY_LIMITED_INFORMATION, 0, $iPID)
If @error Then SetError(2, @error, False)
While ProcessExists($iPID) and Sleep(10)
WEnd
Local $iError = _WinAPI_GetExitCodeProcess($hProcess)
_WinAPI_CloseHandle($hProcess)
If $iError<>0 Then SetError(3, $iError, False)
return True
EndFunc
Alles anzeigen
lg und Danke schon mal
schönen Sonntag noch
Komando zurück, ich hatte es jetzt 10 mal versucht, keine Ahnung wieso, jetzt funktioniert es, recht herzlichen Dank noch mal, das mit der Funktion SetError war mir neu, Wieder was gelernt.
lg und schönes Rest Wochenede allen Helfern
@Kanashius recht schönen Dank,also die fehler cases im mainLoop und die eigentlichen Fehler dann in einer ExtraFunction, wie geasagt ich hatte die Globals aus den Funktionen schon llange entfernt, bevor sich hier noch jemand beschwert, und ich bemühe mich immer meine Variablen eindeutig zu bennenen, aber was eindeutig ist, liegt wohl im Auge des Betrachters. Das Ding is, wenn ich das Pawor jetzt richtig eingebe kommt wieder das Passwortfeld, das funktionierte ja vorher. Auf jeden Fall Danke für den Denkanstoß. Wie schon erwänt, die Variable @Error liefert bei mir nicht den richtigen Errorlevel.
lg und schönes Wochenende noch
Also noch mal konkret meien Frage, an welche Stelle packe ich denn am besten die checks, direkt in Schie While Scheife, oder alles einzenl in Funktionen, welches Vorgehen würdet Ih empfehlen, damit das ganze mehrn als einmal funktioniert?
lg und schönes Wochenende
Also an den Globals in den Funktionen hats nicht gelegen, die habe ich nun alle erntfernt. Jemand noch ne Idee, wie gesagt den %Errorlevel% zieht er sich jetzt korrekt.
Danke für die Antwort, der Errorlevel entpricht dem aus der CMD, ich werde die GLoals aus den Funktionen entfernen, vielleicht lösst das ja mein Problem, dass das Errorhandlicg bei Fehleingabe nur einmal funktioniert.
lg und schönen Abend
Also ich hab mal noch ein bisl rum experimentiert, mein Script ist jetzut in der Lage einen Errorwert auszulesen. Leider gint es noch ein kleines Problem. Wenn ich einmal das Passwort falsch eingebe fragt er noch mal, beim zweiten mal Faslscheingabe geht es nicht mehr, vielleicht sollt ich mal nen Tag Gras drüber wachsen lassen, vielleicht sieht ja einer den Fehler. Danke noch mal allen die geholfen haben. Mein Kurzscript schaut jetzt so aus:
Opt('MustDeclareVars', 1)
#AutoIt3Wrapper_Au3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7
#include <GuiConstants.au3>
#include <FileConstants.au3>
#include <ProcessConstants.au3>
#include <WinAPIHObj.au3>
#include <WinAPIProc.au3>
#include <WinAPISys.au3>
Global $dropFile_1, $dropFile_2, $label, $cmd, $PfxPath, $File
Global $pfxFile, $pfxPassword, $pass, $Return, $msg, $Error, $hProcess
;mainGui
GuiCreate('Drag and Drop', 530, 100, @DesktopWidth / 2 - 192, _
@DesktopHeight / 2 - 235, -1, $WS_EX_ACCEPTFILES + $WS_EX_TOPMOST)
$label = GUICtrlCreateLabel('Bitte ziehen Sie mit der Maus die erhaltene PFX-Datei in diese Fenster und lassen es hier fallen, danach geben Sie Ihr Passwot ein, welches Sie per Mail erhalten haben, den Rest erledige ich für Sie.', 0, 0, 530, 120)
GUICtrlSetFont($Label, 16, 0, "Arial")
GUICtrlSetBkColor($label, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetState($label, $GUI_DROPACCEPTED)
GuiSetState() ;Loop GUI
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
GUIDelete()
ExitLoop
Case $msg = $GUI_EVENT_DROPPED
If @GUI_DropId = $label Then
$PfxPath = @GUI_DragFile
MsgBox(262144, "Drop Result", $PfxPath)
$File = $PfxPath
Password()
Makecert()
MsgBox(262144, "Drop Result", $Error)
If $Error = 0 Then
;MsgBox(0, "Fehler", "all ok")
MakeCert()
else
MsgBox(0, "Fehler", "Bitte wiederholen")
Password()
checkpwd()
EndIf
EndIf
EndSelect
WEnd
Exit
Func MakeCert()
$cmd = "certutil -f -p " & $pass & ' -user -importpfx "' & $file & '"' ;Ich empfehle immer die Verwendung von ' denn dann machen eingefasste " kein Problem mehr
ConsoleWrite($cmd & @CRLF)
global $Return = Run(@ComSpec & " /c " & $cmd, "", @SW_HIDE) ;Ich empfehle /k ansatt /c zu nutzen wenn man das Ergebnis sehen will, dann braucht man auch kein & Pause
If Not $Return Then
Exit
EndIf
$hProcess = _WinAPI_OpenProcess($PROCESS_QUERY_LIMITED_INFORMATION, 0, $Return)
If Not $hProcess Then
Exit
EndIf
;Loop for process until closed.
While ProcessExists($Return)
Sleep(10)
WEnd
ConsoleWrite('Exit code: ' & _WinAPI_GetExitCodeProcess($hProcess) & @CRLF)
$Error = _WinAPI_GetExitCodeProcess($hProcess)
_WinAPI_CloseHandle($hProcess)
EndFunc
Func Password()
global $pass= InputBox("Sicherheit", "Geben Sie das Passwort für das Zertifikat ein.", "", " M20")
Return
EndFunc
Alles anzeigen
lg und schönen Abend noch
okidoki dann weiss ich Bescheid, nur eine keine Frage möchte ich noch anschliessen, denke passt noch gut hier rein, ich habe jetzt folgende kleine GUI gescripted, mit passwort Eingabe, soweit kein Ding. Leider bekomem ich es nicht gelösst den Errolevel der CMD auszulesen, dh, wenn dieser 0 ist alels ok, wenn ungleich 0 zurück zur Passwortabfrage, gibt es dafür in AutoIT auch eine Lösung? habe es mit error versucht, aber das ist immer 0. Das Teil sieht jetzt so aus:
#include <GuiConstants.au3>
#include <FileConstants.au3>
#include <EditConstants.au3>
Global $dropFile_1, $dropFile_2, $label
Local $pfxFile, $pfxPassword
GuiCreate('Drag and Drop', 530, 120, @DesktopWidth / 2 - 192, _
@DesktopHeight / 2 - 235, -1, $WS_EX_ACCEPTFILES + $WS_EX_TOPMOST)
$label = GUICtrlCreateLabel('Bitte ziehen Sie mit der MAus die erhaltene PFX-Datei in diese Fenster und lassen es hier fallen, danach geben Sie Ihr Passwot ein, welches Sie per Mail erhaltenb haben, den Rest erledige ich für Sie.', 0, 0, 530, 120)
GUICtrlSetBkColor($label, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetState($label, $GUI_DROPACCEPTED)
GuiSetState()
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
GUIDelete()
ExitLoop
Case $msg = $GUI_EVENT_DROPPED
If @GUI_DropId = $dropFile_1 Then
GUICtrlSetData($dropFile_1, @GUI_DragFile)
ElseIf @GUI_DropId = $dropFile_2 Then
GUICtrlSetData($dropFile_2, @GUI_DragFile)
Else;If @GUI_DropId = $label Then
;MsgBox(262144, "Drop Result", @GUI_DragFile)
$PfxPath = @GUI_DragFile
;MsgBox(262144, "Drop Result", $PfxPath)
Global $File = $PfxPath
Password()
MakeCert()
EndIf
EndSelect
WEnd
Exit
Func MakeCert()
$cmd = "certutil -f -p " & $pass & ' -user -importpfx "' & $file & '"' ;Ich empfehle immer die Verwendung von ' denn dann machen eingefasste " kein Problem mehr
ConsoleWrite($cmd & @CRLF)
$Return = Run(@ComSpec & " /c " & $cmd, "", @SW_HIDE) ;Ich empfehle /k ansatt /c zu nutzen wenn man das Ergebnis sehen will, dann braucht man auch kein & Pause
EndFunc
Func Password()
global $pass= InputBox("Sicherheit", "Geben Sie das Passwort für das Zertifikat ein.", "", " M20")
MsgBox(0, "Fehler", @error)
If @error <> 0 Then
MsgBox(0, "Fehler", "Geben Sie das Passwort erneut ein")
Password()
else
MsgBox(0, "Fehler", "alles ok")
EndIf
EndFunc
Alles anzeigen
Danke schon mal und einen angenehmen Abend noch
Komando zurück, keine Ahnung was eben war, funktioniert wunderbar
DANKEEEEEEEEE
Jo danke Euch beiden, also er tut jetzt was und die Zeile sieht auch so aus, wie sie in der Konsole funzzt, aber er hau es nicht nach Eigene Zertifikate rein, schon komisch, trotzdem Danke noch mal, habt mir sehr geholfen. Dat muss man halt wissen, dass man nur ' bei Passwörten nutzen darf.
lg
also wenn ich das eine " weg mache kommt variable not declared
das wär meien nächste Frage gewesen, wie ich den CMD Strink so wie er ausgegeben wird mit CosolWrite richtig anzeigen lasse.
Danke erst mal
Hallo liebe Autoit Experten, ich habe eine kurzes CMD, was in der Konsole so auch funktioniert und ein Zertifikat importiert.
certutil -f -p pass -user -importpfx "C:\Users\user1\Desktop\59116_zert_asa-ssl_b.pfx"
In Autoit habe ich versucht dies so aufzurufen:
$file = "C:\Users\user1\Desktop\59116_zert_asa-ssl_b.pfx"
$pass = 'pass'
$cmd = Run(@ComSpec & " /c " & "certutil -f -p " & $pass & " -user -importpfx "" & $file" & " & Pause", """, "", @SW_SHOW)
Er meckert zwar nichts, aber er tut leider auch nichts, Hat einer ne Idee woran es liegen könnte
lg und schöne Restwoche noch
Na dass hatte ich ja schon gemacht, dass schaut dann so aus
$window = Add-Type -memberDefinition @" [DllImport("user32.dll")] public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); "@ -name "Win32ShowWindowAsync" -namespace Win32Functions -passThru $window::ShowWindow((Get-Process –id $pid).MainWindowHandle, 0) $objcsv = Import-Csv c:\user.csv -Encoding Default -delimiter ";" $objcsv | out-gridview
Aber denke mal die Funktion geht nur bei klassischen OneLinern
lg und schönen Abend noch
Habe es jetzt mal mit ein paar mehr Zeilen versucht, irgendwie scheint er Probleme mit Anführungszeichen zu haben, wie zB bei Delimiter oder an der Stelle '[DllImport("user32.dll")]' & _ . Wie ist bei sowas vorzugehen?
Mein Ausdruck sieht wie folgt aus:
Global $sCmdPS = _
'$window = Add-Type -memberDefinition @"' & _
'[DllImport("user32.dll")]' & _
'public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);' & _
'"@ -name "Win32ShowWindowAsync" -namespace Win32Functions -passThru' & _
'$window::ShowWindow((Get-Process –id $pid).MainWindowHandle, 0)' & _
'$objcsv = Import-Csv c:\user.csv -Encoding Default -delimiter ";"' & _
'$objcsv | out-gridview'
Beste Grüße und gute Nacht
Doch, jetzt scheint es zu funktionieren, war wohl nen Leerzeichen zuviel, recht herzlichen Dank noch mal
lg und schönes WE noch
Na dann denke ich dann muss ich wohl doch den uneleganten Weg beschreiten und eine Verknüpfung erstellen, die ich dann aufrufe. Aas Problem, meines Wissens gibt es keinen PC Code der vorangestellt im PS Script, das vollständige Vestecken des PS Fensters erzwingt, deshalb ja der WSScript Aufruf;)
lg
klingt erst mal gut, aber dass was ich geschrieben hatte war ja erst mal ein WScriptaufruf, um ein PS Script ohne Hauptfenster zu öffnen. Aber mal schauen vielleicht kann ich das Script ja in deinen Code einbauen.
lg und schönen Abend noch