In diesem Dokument wird beschrieben, wie Sie mithilfe von PowerShell eine Verbindung zu einer Windows-VM-Instanz herstellen.
Vorbereitung
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren:
Wählen Sie den Tab aus, der Ihrer geplanten Verwendung der Beispiele auf dieser Seite entspricht:
Console
Wenn Sie über die Google Cloud Console auf Google Cloud Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.
gcloud
-
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud initWenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
- Legen Sie eine Standardregion und -zone fest.
Ü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.
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.
Fügen Sie eine Firewallregel hinzu, die Port
5986in dem Google Cloud VPC-Netzwerk öffnet, in dem sich die Windows Server-Instanz befindet.Öffnen Sie das PowerShell-Terminal in Ihrer lokalen Workstation.
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
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
Ersetzen Sie Folgendes:
IP_ADDRESSist die IP-Adresse, der DNS-Name oder der Windows-Computername für die Instanz, zu der Sie eine Verbindung herstellen möchten.SCRIPTist mindestens ein Befehl, der auf der Remote-Instanz ausgeführt werden soll. Geben Sie zum BeispielGet-EventLog -log "Windows PowerShell"an, um eine Liste der Logereignisse abzurufen.
Nächste Schritte
- Zugriff auf Instanzen verwalten, und zwar für mehrere Nutzer in einem Projekt oder einer Organisation
- Sichere Verbindungen zu VM-Instanzen herstellen
- Dateien an Linux-Instanzen übertragen