Beherrschen Sie PowerShell Remote-Sitzungen: Interaktiver und persistenter Zugriff

Die Verwaltung von Remote-Systemen kann sich oft wie das Navigieren durch ein Labyrinth anfühlen. Interaktive Sitzungen könnten die Lösung sein, wenn Sie bei der Fehlersuche eines Serverproblems feststecken. Mit dem richtigen Ansatz können Sie mühelos eine Verbindung zu entfernten Maschinen herstellen, in Echtzeit mit ihnen interagieren und sogar Verbindungen für längerfristige Arbeiten aufrechterhalten.

In diesem Leitfaden lernen Sie, das volle Potenzial von PowerShell-Sitzungen zu nutzen, um von Frustration zu Meisterschaft zu gelangen.

Optimieren Sie Ihr Remote-Management und lassen Sie diese mühsamen Aufgaben zum Kinderspiel werden!

Öffnen einer interaktiven Sitzung

Manchmal müssen Sie möglicherweise ein Remote-Computer in Echtzeit überprüfen oder mit ihm interagieren, zum Beispiel um ein Konfigurationsproblem zu diagnostizieren oder Dienste zu überprüfen. Remote-Management-Tools ermöglichen oft Verbindungen, aber das Wechseln zwischen Systemen kann umständlich sein.

Interaktive Sitzungen in PowerShell bieten eine Lösung, indem sie es Ihnen ermöglichen, nahtlos eine Verbindung zu einem entfernten Rechner herzustellen und Befehle auszuführen, als ob Sie in einer lokalen Konsole arbeiten würden.

Bevor Sie eine interaktive Sitzung starten, stellen Sie sicher, dass das Remote-System Windows Remote Management (WinRM) aktiviert und ordnungsgemäß konfiguriert hat. Verwenden Sie den folgenden Befehl, um WinRM auf dem Remote-System zu aktivieren: Enable-PSRemoting -Force

Um eine interaktive Sitzung zu beginnen, verwenden Sie den Befehl Enter-PSSession:

Enter-PSSession -ComputerName SRV2

Beachten Sie, dass die Eingabeaufforderung nun den Namen des Remote-Computers enthält, was auf eine aktive Verbindung hinweist.

Bestätigen Sie, dass die Sitzung auf dem Remote-Rechner läuft:

hostname

Nachdem Sie Ihre Aufgaben abgeschlossen haben, können Sie die Sitzung beenden:

exit

Beim Verwenden von Enter-PSSession endet die Sitzung, sobald Sie sie verlassen.

Überprüfen Sie die Sitzung mit folgendem:

Get-PSSession

Es sollten keine Sitzungen aufgelistet sein, da sie nicht mehr existieren.

Erstellen und Verwalten von dauerhaften Sitzungen

Während interaktive Sitzungen für Echtzeitaufgaben hilfreich sind, verschwinden sie, sobald sie geschlossen werden, was die Flexibilität für laufende Arbeiten einschränkt. Stellen Sie sich vor, Sie müssten einige Befehle automatisieren, sich vorübergehend trennen und dann wieder verbinden, um dort weiterzumachen, wo Sie aufgehört haben.

Kein Grund zur Sorge. Dauerhafte Sitzungen schließen diese Lücke, indem sie eine Verbindung zwischen Ihrem lokalen Computer und dem Remote-Computer aufrechterhalten, selbst wenn Sie die Konsole verlassen oder neu starten.

Um nicht-interaktive und interaktive Anwendungsfälle zu kombinieren, erstellen Sie eine dauerhafte Sitzung:

$session = New-PSSession -ComputerName SRV2

Sobald erstellt, interagieren Sie mit der neuen Sitzung unter Verwendung des Session-Parameters:

Enter-PSSession -Session $session

Verlassen Sie die Sitzung und überprüfen Sie erneut auf offene Sitzungen:

exit
Get-PSSession

Der Befehl New-PSSession hält die erstellte Sitzung verfügbar.

Sie können die Sitzung auch nicht-interaktiv verwenden:

Invoke-Command -Session $session -ScriptBlock {'Yay! I am in the remote computer!'}

Sitzungen trennen und wieder verbinden

Laufende Arbeiten erfordern, dass Sie sich vorübergehend von einer Sitzung trennen, ohne sie vollständig zu beenden. Ein Beispiel ist, wenn Sie Ihre lokale Konsole neu starten müssen; das Trennen bewahrt den Sitzungsstatus, sodass Sie sich später wieder verbinden können.

PowerShell ermöglicht es Ihnen, sich von einer Remote-Sitzung zu trennen, während sie aktiv bleibt, und später wieder zu verbinden.

Um sich von der Sitzung zu trennen:

Disconnect-PSSession -Session $session

Die Sitzung scheint jetzt Getrennt.

Sie können die Sitzung auch nach dem Neustart der PowerShell-Konsole wieder verbinden:

Connect-PSSession -ComputerName SRV2

Dieser Prozess ermöglicht die Wiederaufnahme von Aufgaben in derselben Sitzung.

Schließlich bereinigen und entfernen Sie alle Sitzungen:

Get-PSSession | Remove-PSSession

💡 Tipp: Persistente Sitzungen können mächtig sein, aber wenn sie laufen bleiben, können sie Systemressourcen auf dem lokalen oder entfernten Rechner verbrauchen. Bereinigen Sie immer Sitzungen, wenn sie nicht mehr benötigt werden, um die optimale Leistung zu erhalten.

Fazit

Interaktive und persistente PowerShell-Sitzungen bieten leistungsstarke Werkzeuge für das Remote-Systemmanagement und bieten Flexibilität und Effizienz.

Ob Sie in Echtzeit Fehler beheben, Befehle automatisieren oder die Arbeit über Neustarts hinweg bewahren, diese Techniken ermöglichen eine nahtlose Kontrolle über entfernte Systeme.

Beherrschen Sie das Sitzungsmanagement und rüsten Sie sich mit Fähigkeiten aus, um verschiedene Verwaltungsaufgaben effizient zu bewältigen!

Source:
https://adamtheautomator.com/powershell-interactive-sessions/