PS Sessions

Ähnlich wie bei openSSH Technik verfügen wir nun über Interaktive Sitzungen basierend auf PowerShell/WinRM Techniken.

Enter-PSSession –Computername Win10

komplette Anmeldung inkl. –credential (bei P2P immer nötig!)

$cred = Get-Credential
Enter-PSSession -ComputerName Win10 -credential $cred

oder:

Enter-PSSession –ComputerName Win10 -Authentication Negotiate -credential Win10\joebadmin

aktuelle Konsolenmaschine ermitteln:

[System.Environment]::MachineName

Beenden der PowerShell Remote Session:

Exit-PSSession

Befehle über Remote absetzen mittels Invoke-Command:

Bei Berechtigungsproblemen immer wieder gerne mit der Credential Lösung.

Invoke-Command Aufrufe
Invoke-Command -ComputerName Win10 -scriptblock { Get-Service b* }
Invoke-Command -ComputerName Win10 -scriptblock { Get-Service | sort status | ft name,status }
Invoke-Command - ComputerName Win10
-Script { "Computername: " + [System.Environment]::MachineName ; "Zeit: " + [DateTime]::Now ; "Sprache: " + (Get-Culture) }
Invoke-Command - ComputerName Win10 -Script { ping www.it-visions.de }

Gerne natürlich auch ein entsprechendes Skript als Datei:

Invoke-Command -ComputerName Win10 -scriptblock { c:\temp\WPS2_Computername.ps1 }

Diese Aufrufe sind auch für mehrere Rechner gleichzeitig möglich!

Cmdlets zur Sitzungsverwaltung

Es folgt ein Überblick über die Cmdlets zur Sitzungsverwaltung:

Get-Command *PSSession*
  • New-PSSession
    Erzeugen einer neuen Sitzung auf dem lokalen oder einem entfernten Computer
  • Get-PSSession
    Liste aller Sitzungen, die aus der aktuellen Sitzung heraus gestartet wurden
    (zeigt aber nicht Sitzungen, die andere Computer auf dem lokalen Computer geöffnet haben)
  • Remove-PSSession
    entfernt eine Session oder alle Sessions (Remove-PSSession *)
  • Enter-PSSession
    Start einer interaktiven Sitzung auf dem lokalen oder einem entfernten Computer
  • Exit-PSSession
    Ende einer interaktiven Sitzung
  • Disable-PSSessionConfiguration
    Sperren einer/aller Sitzungskonfigurationen
  • Enable-PSSessionConfiguration
    Entsperren einer/aller Sitzungskonfigurationen
  • Get-PSSessionConfiguration
    Auflisten der Sitzungskonfigurationen
  • Register-PSSessionConfiguration
    permanente Registrierung einer Sitzungskonfiguration
  • Set-PSSessionConfiguration
    Setzen von Eigenschaften einer Sitzungskonfiguration
  • Unregister-PSSessionConfiguration
    Löschen einer Sitzungskonfiguration

alles Weitere:

  • ab S. 229 Schwichtenberg PowerShell 4.0

  • ab S. 742 Weltner PowerShell 5.0