このドキュメントでは、PowerShell を使用して Windows 仮想マシン(VM)インスタンスに接続する方法について説明します。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- デフォルトのリージョンとゾーンを設定します。
-
PowerShell を使用した接続
Windows ワークステーションに PowerShell がインストールされている場合には、リモート PowerShell セッションから Windows Server インスタンスに接続できます。
リモート Windows インスタンスのユーザー名とパスワードを作成していない場合には、Windows パスワードを作成またはリセットします。
ファイアウォール ルールを追加して、Windows Server インスタンスが存在する Google Cloud VPC ネットワーク上のポート
5986
を開くようにこのルールを設定します。ローカル ワークステーションで、PowerShell ターミナルを開きます。
省略可: ユーザー認証情報を格納する変数を初期化できます。初期化すると、インスタンスに接続するたびに、認証情報を入力する必要がなくなります。この手順をスキップすると、ユーザー名とパスワードを要求するプロンプトが後で表示されます。
$credentials = Get-Credential
双方向の PowerShell セッションを確立するか、Windows Server VM 上でリモートでコマンドを呼び出すかを選択します。
双方向の PowerShell セッションの確立
PowerShell セッションを確立するには、次のコマンドを実行します。
Enter-PSSession -ComputerName IP_ADDRESS -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck) -Credential $credentials
IP_ADDRESS
は、接続するインスタンスの外部 IP アドレス、DNS 名、または Windows コンピュータ名に置き換えます。
接続後、コマンド プロンプトが変更され、リモート Windows インスタンスの IP アドレスが含まれるようになります。これで、ターミナルからリモートの Windows Server インスタンスで PowerShell コマンドを実行できます。
Windows Server VM 上のコマンドをリモートで呼び出す
Enter-PSSession
コマンドの代わりに、-ScriptBlock
フラグを指定して Invoke-Command
を実行すると、インタラクティブ セッションを確立せずにリモート インスタンスで PowerShell コマンドを実行できます。
Invoke-Command -ComputerName IP_ADDRESS -ScriptBlock { SCRIPT } -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck) -Credential $credentials
次のように置き換えます。
IP_ADDRESS
: 接続するインスタンスの IP アドレス、DNS 名、または Windows コンピュータ名。SCRIPT
: リモート インスタンスで実行する 1 つ以上のコマンド。たとえば、ログイベントのリストを表示するには、Get-EventLog -log "Windows PowerShell"
を指定します。
次のステップ
- プロジェクトまたは組織の複数ユーザーのインスタンスへのアクセスを管理する方法を学習する。
- VM インスタンスに安全に接続する。
- Linux インスタンスにファイルを転送する。