Azure 仮想マシンに PowerShell で接続する

皆さん、こんにちは。

Azure 仮想マシンPowerShell で接続する方法を紹介します。
リモート デスクトップ接続ができなくなった時や、PowerShell でちょちょっと操作したい時に便利です。

接続元クライアントでの設定

まずは接続元クライアントで、接続先ホストを信頼する必要があります。
以下のコマンドで信頼します。

> Set-Item WSMan:\localhost\Client\TrustedHosts -Value "<接続先ホスト名>"

# 例) TestVM01.cloudapp.net を信頼する場合
> Set-Item WSMan:\localhost\Client\TrustedHosts -Value TestVM01.cloudapp.net

# 例) 12.34.56.78 を信頼する場合
> Set-Item WSMan:\localhost\Client\TrustedHosts -Value 12.34.56.78

# 例) 全てのホストを信頼する場合
> Set-Item WSMan:\localhost\Client\TrustedHosts -Value *

Windows Remote Management (WinRM) サービスが起動している必要があります。

Azure 仮想マシン (クラシック) に PowerShell で接続する

Azure 仮想マシン (クラシック) で作成した仮想マシンは、既定で 5986 番ポートの WinRM が許可されています。
以下のコマンドで接続します。
※エンドポイントで 5986 を開ける必要があります。(新規作成時に既定で許可されています)

> Enter-PSSession -Computer "<接続先ホスト FQDN or IP アドレス>" -Port 5986 -Credential "<接続先ホストの管理者権限のあるユーザー名>" -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)
# ポップアップで -Credential のパスワードを入力します。

# 例) TestVM01.cloudapp.net に yaimairi ユーザーで接続する場合
> Enter-PSSession -Computer TestVM01.cloudapp.net -Port 5986 -Credential yaimairi -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)

# 接続が完了すると、行頭に 接続先ホスト名が表示されます。
[TestVM01.cloudapp.net]: PS C:\Users\yaimairi\Documents> 

Azure 仮想マシン (リソース マネージャー) に PowerShell で接続する

Azure 仮想マシン (リソース マネージャー (ARM)) で作成した仮想マシンは、既定で 5985 番ポートの WinRM が許可されています。
以下のコマンドで接続します。
※ネットワーク セキュリティ グループ (NSG) で 5985 を開ける必要があります。

# クラシックと違い -UseSSL や -SessionOption が必要ないです
> Enter-PSSession -Computer "<接続先ホスト FQDN or IP アドレス>" -Port 5985 -Credential "<接続先ホストの管理者権限のあるユーザー名>"
# ポップアップで -Credential のパスワードを入力します。

# 例) 12.34.56.78 に yaimairi ユーザーで接続する場合
> Enter-PSSession -Computer 12.34.56.78 -Port 5985 -Credential yaimairi

# 接続が完了すると、行頭に 接続先ホスト名が表示されます。
[12.34.56.78]: PS C:\Users\yaimairi\Documents>