Powershell unter WIN 7
Hallo zusammen!
Ich will ein kleines Powershell Skript schreiben, mit dem ich Remonte Prozesse beenden kann.
Mein Anfang sieht so aus:
cls
$SYSTEM = Read-Host "Bitte das System eingeben:"
$Process = Read-Host "Bitte den Process eingeben der beende werden soll:"
Enter-PSSession -ComputerName $Process
Get-Process | select name
...
Geschrieben habe ich das in PowerShell ISE, wenn ich das laufen lasse kommen diese Meldungen:
Enter-PSSession : Das Argument für den Parameter "ComputerName" kann nicht überprüft werden. Das Argument ist
NULL oder leer. Geben Sie ein Argument an, das nicht NULL oder leer ist, und führen Sie dann den Befehl erneut
aus.
Bei D:\Powershell-Skipte\Prosse_beenden_040815_1.ps1:5 Zeichen:30
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.EnterPSSessionCo
mmand
Wenn ich den Befehl "Enter-PSSession -ComputerName xxxxx" im DOS-Fenster aufrufe kommt keine Fehlermeldung.
Was mache ich falsch??
VG
Ich will ein kleines Powershell Skript schreiben, mit dem ich Remonte Prozesse beenden kann.
Mein Anfang sieht so aus:
cls
$SYSTEM = Read-Host "Bitte das System eingeben:"
$Process = Read-Host "Bitte den Process eingeben der beende werden soll:"
Enter-PSSession -ComputerName $Process
Get-Process | select name
...
Geschrieben habe ich das in PowerShell ISE, wenn ich das laufen lasse kommen diese Meldungen:
Enter-PSSession : Das Argument für den Parameter "ComputerName" kann nicht überprüft werden. Das Argument ist
NULL oder leer. Geben Sie ein Argument an, das nicht NULL oder leer ist, und führen Sie dann den Befehl erneut
aus.
Bei D:\Powershell-Skipte\Prosse_beenden_040815_1.ps1:5 Zeichen:30
Enter-PSSession -ComputerName <<<< $Process
+ CategoryInfo : InvalidData: ( : ) [Enter-PSSession], ParameterBindingValidationException+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.EnterPSSessionCo
mmand
Wenn ich den Befehl "Enter-PSSession -ComputerName xxxxx" im DOS-Fenster aufrufe kommt keine Fehlermeldung.
Was mache ich falsch??
VG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 279148
Url: https://administrator.de/contentid/279148
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
8 Kommentare
Neuester Kommentar
Enter-PSSession -ComputerName $Process
Wenn man den Prozessnamen als Computernamen verwendet, kein Wunder Geht per WMI viel einfacher (Zur Info: hier muss die Dateierweiterung angegeben werden also z.b. Calc.exe):
gwmi win32_process -Computername $System -filter "name='$process'" | %{$_.Terminate()}
Ist natürlich Unsinn, denn wenn ich es im DOS-Fenster (CMD.EXE) aufrufe geht es.
Das ist auch Unsinn denn das ist Powershell ! CMD.EXE ist nicht Powershell, außer du rufst die PS Konsole aus der CMD auf.Hast Du noch eine Idee?
Es via WMI machen wie ich oben beschrieben habe, das geht zuverlässig Und die Powershell auf mindestens PS 3.0 updaten, da dort diverse Bugs gefixt wurden.
Bei Get-process darfst du als Namen nur den Namen des Prozesses ohne Dateierweiterung(.exe) benutzen.