Verbindung zu Windows-VMs über PowerShell herstellen


In diesem Dokument wird beschrieben, wie Sie mithilfe von PowerShell eine Verbindung zu einer Windows-VM-Instanz herstellen.

Hinweis

Über PowerShell verbinden

Wenn Sie eine Windows-Workstation mit PowerShell haben, können Sie über eine Remote-PowerShell-Sitzung eine Verbindung zu Ihren Windows Server-Instanzen herstellen.

  1. Wenn Sie noch keinen Nutzernamen und kein Passwort auf der Remote-Windows-Instanz erstellt haben, erstellen Sie ein Windows-Passwort oder setzen Sie es zurück.

  2. Fügen Sie eine Firewallregel hinzu, die Port 5986 in dem Google Cloud-VPC-Netzwerk öffnet, in dem sich die Windows Server-Instanz befindet.

  3. Öffnen Sie das PowerShell-Terminal in Ihrer lokalen Workstation.

  4. Alternativ können Sie eine Variable initialisieren, die Ihre Anmeldedaten aufnimmt, damit Sie diese nicht jedes Mal eingeben müssen, wenn Sie eine Verbindung zu der Instanz herstellen. Wenn Sie diesen Schritt überspringen, werden Sie später dazu aufgefordert, Ihren Nutzernamen und Ihr Passwort einzugeben.

    $credentials = Get-Credential
    
  5. Wählen Sie aus, ob Sie eine interaktive PowerShell-Sitzung einrichten oder Befehle auf Ihrer Windows Server-VM per Remote-Zugriff aufrufen möchten.

Interaktive PowerShell-Sitzung einrichten

Führen Sie den folgenden Befehl aus, um eine PowerShell-Sitzung einzurichten:

Enter-PSSession -ComputerName=IP_ADDRESS -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck) -Credential $credentials

Ersetzen Sie IP_ADDRESS durch die externe IP-Adresse, den DNS-Namen oder den Windows-Computernamen der Instanz, zu der Sie eine Verbindung herstellen möchten.

Wenn die Verbindung hergestellt wurde, ändert sich die Eingabeaufforderung und enthält nun die IP-Adresse der Remoteinstanz von Windows Server. Sie können das Terminal nun nutzen, um PowerShell-Befehle auf der Remoteinstanz von Windows Server auszuführen.

Befehle per Remote-Zugriff auf der Windows Server-VM aufrufen

Anstelle des Befehls Enter-PSSession können Sie auch Invoke-Command mit dem Flag -ScriptBlock ausführen. Dann werden PowerShell-Befehle auf der Remoteinstanz ausgeführt, ohne eine interaktive Sitzung einzurichten.

Invoke-Command -ComputerName IP_ADDRESS -ScriptBlock { SCRIPT } -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck) -Credential $credentials

Dabei gilt:

  • IP_ADDRESS ist die IP-Adresse, der DNS-Name oder der Windows-Computername für die Instanz, zu der Sie eine Verbindung herstellen möchten.
  • SCRIPT ist mindestens ein Befehl, der auf der Remote-Instanz ausgeführt werden soll. Geben Sie zum Beispiel Get-EventLog -log "Windows PowerShell" an, um eine Liste der Logereignisse abzurufen.

Nächste Schritte