Mit PowerShell können Sie nicht nur die Prozesse des lokalen Computers anzeigen, sondern auch von Computern im Netzwerk. Dazu verwenden Sie den Parameter -Computername und geben danach den Namen des Computers ein, dessen Prozesse Sie anzeigen wollen:
Get-Process *sql* -Computername dl20
Sie können auch mehrere Computer angeben, deren Prozesse Sie anzeigen wollen:
Get-Process *sql* -Computername dl20, dc01, dc02
Mit dem Parameter -Name können mehrere Werte weitergegeben werden, um in einer Sitzung mehr Informationen anzuzeigen:
Get-Process -Name exp*,power*
Um die Liste zu formatieren, kann mit der Weitergabe an Format-List (fl) oder Format-Table (fl) der Name des entsprechenden Servers angezeigt werden, zum Beispiel:
Get-Process -Name PowerShell -ComputerName dc01, dc02, dl20 | Format-Table -Property ID, ProcessName, MachineName
Auf Basis dieser Informationen können Sie Prozesse gezielt beenden, indem Sie das Ergebnis von Get-Process an Stop-Prozess weiterleiten:
Get-Process -Name PowerShell -ComputerName dc01, dc02, dl20 | Stop-Process
Eine weitere Möglichkeit für den Netzwerkzugriff der PowerShell besteht darin, dass Sie in PowerShell oder der PowerShell ISE direkt eine PowerShell-Sitzung auf dem Remoteserver öffnen. Dazu rufen Sie in der PowerShell ISE DateiNeue Remote-PowerShell-Registerkarte auf, geben den Servernamen ein sowie die Anmeldedaten für den Server.
Um eine Remotesitzung in der klassischen PowerShell zu erstellen, geben Sie das Cmdlet New-PSSession ein. Mit dem Befehl Enter-PSSession bauen Sie eine Verbindung auf. Um sich mit einem anderen Benutzer zu authentifizieren, verwenden Sie folgenden Befehl:
Enter-PSSession -ComputerName -Credential
Mit dem Cmdlet Exit-Session beenden Sie diese Sitzung wieder. Sie können auch Sitzungen unterbrechen und erneut aufzubauen. Bei unterbrochenen Sitzungen laufen die Cmdlets in der Sitzung weiter. Dazu nutzen Sie die Cmdlets Disconnect-PSSession, Connect-PSSession und Receive-PSSession.
Alle Befehle, die Sie in dieser Sitzung ausführen, werden auf dem Remotecomputer ausgeführt. Der Parameter -ComputerName ist in diesem Fall nicht notwendig, da die Sitzung bereits auf dem Remotecomputer ausgeführt wird.
Wenn Sie von einer lokalen PowerShell-Sitzung über das Netzwerk Programme auf einem Remotecomputer starten wollen, verwenden Sie folgenden Befehl:
Invoke-Command -ComputerName -ScriptBlock { } -credential
Mit dem Cmdlet Test-WsMan testen Sie den Zugriff auf den Ziel-Computer. Erhalten Sie keine Fehlermeldung, sondern eine Statusanzeige, funktioniert der Zugriff vom Quell-Computer auf den Ziel-Computer.
Es öffnet sich nun ein Authentifizierungsfenster und Sie werden aufgefordert, das Kennwort für den Benutzer einzugeben (siehe Abbildung 3).