Frage zu Powershell
Hallo zusammen!
Ich muss ein PS Skript erstellen mit dem ich eine EXE auf einem anderen PC aufführen kann und diese dann ein Programm installiert.
Ich versuche das so....
Start-Process psexec.exe -Computername $SYSNR -verb "-s -f -c \\SERVERNAME\c$\TEMP\Programm.EXE"
Bekommen aber nur Fehlermeldungen, mit denen ich nicht viel anfangen kann.
Ich hab's auch schon mit vorher kopieren versucht um dann das Programm von c: auf zurufen hat aber leider an nicht geklappt.
Vielen Dank schon mal für die Hilfe.
Viele Grüße
Bommi
Ich muss ein PS Skript erstellen mit dem ich eine EXE auf einem anderen PC aufführen kann und diese dann ein Programm installiert.
Ich versuche das so....
Start-Process psexec.exe -Computername $SYSNR -verb "-s -f -c \\SERVERNAME\c$\TEMP\Programm.EXE"
Bekommen aber nur Fehlermeldungen, mit denen ich nicht viel anfangen kann.
Ich hab's auch schon mit vorher kopieren versucht um dann das Programm von c: auf zurufen hat aber leider an nicht geklappt.
Vielen Dank schon mal für die Hilfe.
Viele Grüße
Bommi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 287894
Url: https://administrator.de/forum/frage-zu-powershell-287894.html
Ausgedruckt am: 22.12.2024 um 21:12 Uhr
5 Kommentare
Neuester Kommentar
Moin,
Ganz ohne Zusatztools Per WMI einen Task auf einem Remote-System ausführen:
Gruß grexit
Start-Process psexec.exe -Computername $SYSNR -verb "-s -f -c \\SERVERNAME\c$\TEMP\Programm.EXE"
Das kann so nie und nimmer gehen, erstens weil du die Befehls-Parameter dem Befehl als Verb mitgibst und nicht als -Argumentlist. Zweitens muss der ausführende Account Zugriffsrechte auf den UNC Pfad haben, mitgabe von Username und Password also evt. erforderlich wenn der Computeraccount keine ZUgriffsrechte auf das Share hat. Drittens muss man PSEXEC nicht auf dem REMOTE-System ausführen sondern kann dies lokal tun und das Remote-System als ersten Parameter übergeben. Und 4tens das wichtigste start-process kennt überhaupt keinen Parameter -Computername; hier wäre also erst mal Doku lesen angesagt ...Ganz ohne Zusatztools Per WMI einen Task auf einem Remote-System ausführen:
([wmiclass]'\\SERVERNAME\root\cimv2:Win32_Process').Create('C:\setup.exe')
start-process psexec.exe -ArgumentList '\\SERVERNAME -s -f -c \\SERVERNAME\c$\TEMP\programm.EXE programm.exe' -Wait -NoNewWindow
Vielen Dank, das hat mir schon mal sehr geholfen. Aber wenn ich \\SERVERNAME durch $SYSNR ersetzte, wird der Wert nicht übernommen.
Grund: Der String ist in 'einfachen' Hochkommas eingefasst, und darin werden keine Variablen aufgelöst, wohingegen bei normalen Anführungszeichen das Gegenteil der Fall ist und noch weitere Escapes möglich sind! Powershell Grundlagen...start-process psexec.exe -ArgumentList "\\$SYSNR -s -f -c \\SERVERNAME\c$\TEMP\programm.EXE programm.exe" -Wait -NoNewWindow