lord-icon
Goto Top

Mehrere Befehle an psexec.exe übergeben

Moin,

folgendes *.ps1 Script:
$CMName = "PC58832"  
$PSExec = "C:\temp\SCCMConsoleExtensions\PSExec.exe"  

Start-Process -Filepath "$PSExec" -ArgumentList "\\$CMName -s cmd /c (^  
'net start ScardSvr' ^  
& 'net start ScardSvr' ^  
)"  

Es öffnet sich die cmd... eine Verbindung wird erfolgreich hergestellt und das wars dann.
Meine Befehle werden aber nicht übergeben. Im oben genannten Befehl schließt sich cmd einfach wieder. (Fehler kann ich nicht lesen, weil zu schnell)
Hab aber schon mehrere andere Varianten versucht wo cmd offen bleibt ..

Weiß einer Rat ?

Content-Key: 452707

Url: https://administrator.de/contentid/452707

Printed on: April 20, 2024 at 00:04 o'clock

Member: emeriks
Solution emeriks May 17, 2019 updated at 07:37:18 (UTC)
Goto Top
Hi,
ich würde das so versuchen

Start-Process -Filepath "$PSExec" -ArgumentList "\\$CMName -s cmd /c ""net start ScardSvr && net start ScardSvr"""  

Hinweis:
2x "net start ScardSvr" ?

E.
Member: lord-icon
lord-icon May 17, 2019 at 08:05:04 (UTC)
Goto Top
PERFECT... DAS klappt schon mal.

mitunter habe ich aber schon selbst weiter was versucht und was zum Laufen gebracht:

$PSExec = "C:\temp\RC Tools\"  
cd $PSExec
.\psexec.exe \\$CMName -e cmd /c "net start ScardSvr & net start ScardSvr"  

DAS klappt auch hervorragend. Hier habe ich den Vorteil, dass sich nicht extra ein cmd fenster zusätzlich öffnet, sondern alles über die Powershell umgesetzt wird.

Allerdings bekomme ich noch einen kleinen (optischen) Fehler:

test_script.ps1

.\psexec.exe : 
At C:\Users\user582\Desktop\test_script.ps1:22 char:1
+ .\psexec.exe \\$CMName -e cmd /c "net start ScardSvr && net start Scar ...  
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:String) , RemoteException
    + FullyQualifiedErrorId : NativeCommandError
 
PsExec v1.94 - Execute processes remotely
Copyright (C) 2001-2008 Mark Russinovich
Sysinternals - www.sysinternals.com

Smartcard wird gestartet.
Smartcard bereits gestartet

Smartcard wird gestartet.
Smartcard bereits gestartet

Connecting to PC58832...                                                                              Starting PsExec service on PC58832...                                                                              
Connecting with PsExec service on PC58832...                                                                              Starting cmd on PC58832...                                                                              
cmd exited on PC58832with error code 0.

test_script.ps1:22 char:1 => das ist der Punkt bei ".\psexec.exe"
Aktuell finde ich aber keine Lösung um das zu umgehen... wie gesagt funktioniert es... aber der Fehler sollte vlt. weg.

Hast du da auch eine Lösung ?
Ansonsten vielen Dank
Member: lord-icon
lord-icon May 17, 2019 at 08:08:06 (UTC)
Goto Top
Edit:
2x "net start ScardSvr" ?

später natürlich nicht. Wenn ich im Test die smartcard beende, werde ich ja immer gespeert. Das wird natürlich später angepasst.
Member: Xerebus
Xerebus May 17, 2019 at 12:27:12 (UTC)
Goto Top
Ohne vorher in den Pfad zu wechseln?

Start-Process $PSExec\psexec.exe