PowerShell Direct を使用して Windows 仮想マシンを管理する

適用対象: Windows server 2022、Windows 10、Windows Server 2016、Windows サーバー2019

PowerShell Direct を使用すると、Windows 10、Windows Server 2016、または Windows server 2019 の hyper-v ホストから、Windows 10、Windows Server 2016、または Windows server 2019 の仮想マシンをリモートで管理できます。 PowerShell Direct では、hyper-v ホストまたは仮想マシンのいずれかのネットワーク構成またはリモート管理設定に関係なく、仮想マシン内での Windows PowerShell 管理を行うことができます。 これにより、HYPER-V の管理者を自動化し、仮想マシン管理と構成スクリプトを作成しやすくなります。

PowerShell ダイレクトを実行するには、次の 2 つの方法があります。

  • 作成し、PSSession コマンドレットを使用して、直接の PowerShell セッションを終了します。

  • Invoke-command コマンドレットにスクリプトまたはコマンドを実行します。

以前の仮想マシンを管理している場合は、仮想マシン接続 (VMConnect) を使用するか、仮想マシン用の仮想ネットワークを構成します

作成し、PSSession コマンドレットを使用して、直接の PowerShell セッションを終了します。

  1. Hyper-V ホストで、管理者として Windows PowerShell を開きます。

  2. 仮想マシンに接続するには、 PSSession コマンドレットを使用します。 次のコマンドのいずれかを実行して、仮想マシン名または GUID を使用してセッションを作成します。

    Enter-PSSession -VMName <VMName>
    
    Enter-PSSession -VMGUID <VMGUID>
    
  3. 仮想マシンの資格情報を入力します。

  4. 必要がある任意のコマンドを実行します。 これらのコマンドは、使用してセッションを作成した仮想マシンで実行します。

  5. 完了したら、 出口 を使用してセッションを終了します。

    Exit-PSSession
    

Invoke-command コマンドレットにスクリプトまたはコマンドを実行します。

Invoke-Command コマンドレットを使用して、あらかじめ設定された一連のコマンドを仮想マシン上で実行できます。 仮想マシン名が PSTest であり、実行するスクリプト (foo.ps1) が C:/ ドライブ上のスクリプト フォルダー内にある場合に、Invoke-Command コマンドレットを使用する方法の例を以下に示します。

Invoke-Command -VMName PSTest  -FilePath C:\script\foo.ps1

単一のコマンドを実行するには、-ScriptBlock パラメーターを使用します。

Invoke-Command -VMName PSTest  -ScriptBlock { cmdlet }

PowerShell を使用して何が必要なでしょうか。

仮想マシンで PowerShell ダイレクト セッションを作成するには

  • 仮想マシンでは、ホスト上でローカルに実行する必要があり、起動します。

  • HYPER-V の管理者として、ホスト コンピューターには、ログインする必要があります。

  • 仮想マシンの有効なユーザー資格情報を指定する必要があります。

  • ホストオペレーティングシステムは、少なくとも Windows 10 または Windows Server 2016 を実行する必要があります。

  • バーチャルマシンは、少なくとも Windows 10 または Windows Server 2016 を実行している必要があります。

GET VMコマンドレットを使用して、使用している資格情報が hyper-v の管理者ロールを持っていることを確認し、ホスト上でローカルに実行されている仮想マシンの一覧を取得して、起動します。

参照

入力-pssession出口-Pssession呼び出し-コマンド