Hi,
unter Linux gibt es ein Tool namens WinExe. Mit dem kann ich Scripte, z.B. Perl erfolgreich remote ausführen. Lieber wäre es mir aber Powershell zu benutzen.
So rufe ich das Script unter Linux auf:
[code]
winexe -U "GH\user%pass" //hostname 'powershell.exe -File C:\Scripte\Powershell\remote_test.ps1'
winexe -U "GH\user%pass" //hostname 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File C:\Scripte\Powershell\remote_test.ps1'
winexe -U "GH\user%pass" //hostname 'C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -File C:\Scripte\Powershell\remote_test.ps1'
[/code]
Script: remote_test.ps1
[code]
write-host "test"
"test" > ".\test.txt"
exit
[/code]
Egal wie, er startet immer die Powershell.exe*32, mit dem richtigem Benutzer. Leider im Hintergrund. Zuerst war die ExecutionPolicy nicht gesetzt und nach Linux wurde der enstehende Fehler auch übertragen (BlaBla keine Scripte). Jedoch wird der powershell.exe*32 Prozess danach nicht beendet und somit läuft auch der Linuxbefehl in ein Timeout.
Dann habe die ExecutionPolicy gesetzt (unrestricted/bypass). Das im PS Script angegebene 'write-host "test"' wird nicht übertragen, die textdatei wird nicht erstellt und der PS Prozess bleibt bestehen. Erst wenn ich unter Linux Strg-C eingebe wird der PS Prozess beendet.
Ich kann leider nicht sehen was passiert, da die PS Konsole im Hintergrund läuft. Kann sich jemand erklären warum das nicht funktioniert, bzw. benutzt jemand dieses WinExe Tool mit Powershell?
Das geht:
winexe -U "user%pass" //hostname 'powershell.exe /h'
Ich kann auch:
winexe -U "user%pass" //hostname 'cmd.exe'
eigeben und habe dann die CMD-Konsole in meiner Putty-Linuxkonsole. Ich kann die Eingabeauforderung wie gewohnt benutzen.
Bei:
winexe -U "user%pass" //hostname 'powershell.exe'
kommt nur das Copyrightbanner, doch die Eingabeauforderung startet nicht.