Hyper-V Server 2012 R2は、ローカルGUI管理画面を持っていませんが、リモートでGUI管理画面を使うことが出ます。
また、PowerShellもリモート管理をサポートしているので、大半の管理はリモートで済ませることが可能です。
ちょいと長くなったので、ブックマジャンプつけました
Windows Server 2012 R2のPowerShellは、デフォルトでリモート管理を許可していますので、以下のように接続元でリモート接続設定をするだけでPowerShellのリモート操作ができるようになります。
PowerShellのリモート管理許可(管理元の設定)
winrm quickconfig -force Set-Item WSMan:\localhost\Client\TrustedHosts * -Force |
PowerShellのリモート操作は、コマンドレットの「-ComputerName」オプションと、対話操作の「Enter-PSSession」、コマンド投入の「Invoke-Command」の3種類があります。
「-ComputerName」オプションは、コマンドレットが操作対象のコンピューターを受け付けるので、ローカルと変わらない操作性で使うことができるのですが、「-ComputerName」オプションをサポートしていないコマンドレッドではリモート操作ができません。
これに対し、「Enter-PSSession」は対象コンピューター上で動作する対話式操作です。イメージとしては、PowerShellのリモートデスクトップですね。
ローカルとほぼ変わらない操作ができる上に、操作対象コンピュータ上での動作なので「-ComputerName」オプションをサポートしていないコマンドレットも使うことができます。
ドメイン環境であれば、管理権限を持ったアカウントでログインし、Enter-PSSessionで接続します。
ドメイン環境でのEnter-PSSession
PS C:\> Enter-PSSession hs003 [hs003]: PS C:\Users\Administrator.CONTOSO\Documents> |
ワークグループ環境の場合は、「-Credential」オプションで使用するアカウントを明示的に指定します。
ワークグループ環境でのEnter-PSSession
PS C:\> Enter-PSSession hs004 -Credential hs004\administrator [hs004]: PS C:\Users\Administrator\Documents> |
操作が終わって切断するときは、「Exit-PSSession」で切断します。
Enter-PSSessionの終了
[hs004]: PS C:\Users\Administrator\Documents> Exit-PSSession |
「Invoke-Command」は、リモートコンピューターに対するコマンド投入です。「Enter-PSSession」は対話処理専用で、バッチ処理に不向きですが(コマンドコピペは可)、「Invoke-Command」はバッチ処理ができます。
イメージ的には、「Invoke-Command」はコマンドやバッチを投げて、終わるまで腕を組んで待つって感じです。
「Enter-PSSession」がお手軽に使えるのに対して、「Invoke-Command」はちょっととっつきにくい感じですが、とても奥が深く自動化には欠かせない存在です。
奥が深いので、とりあえず簡単な使い方だけ紹介します。(ドメイン環境で管理アカウントでログインしている場合は-Credential不要)
# Get-ChildItemコマンドをhs004へ投入 Invoke-Command -ComputerName hs004 -Credential administrator -ScriptBlock { Get-ChildItem c:\ } # ローカルにあるtest.ps1をhs004へ投入 Invoke-Command -ComputerName hs004 -Credential administrator -FilePath c:\test\test.ps1 |
余談ですが、PowerShellのリモート操作では、UACが無効なので、管理権限を持ったアカウントでリモート操作をすると、管理権限で実行されるので、「管理者で実行」をする必要はありません。
Hyper-Vマネージャーは、リモート操作に対応しているので、操作対象のコンピューターを追加します。
Hyper-Vマネージャーに操作対象のコンピューターを追加
ワークグループの場合は、実行ユーザーの資格情報を明示的に入力できないので、「cmdkey」コマンドで資格情報マネージャーに資格情報を登録します。
これは、MMC系の管理ツールでリモート管理する場合も同じです。
ワークグループでは資格情報を事前登録する。
CMDKEY /add:コンピューター名 /user:コンピューター名\ユーザーID /pass:パスワード |
統合管理ツールである「コンピューターの管理」もリモートコンピューターを管理することができます。
別のコンピューターへ接続
コンピューターの管理でリモートコンピューターを管理するには、管理される側のファイアウォールを開けます。
PowerShellのリモート管理が可能になっていれば、リモートで設定できますね。
管理対象のサーバーのファイアウォール設定
# リモート管理 Set-NetFirewallRule -DisplayGroup "Windows リモート管理" –Enabled True # イベントビュアー Set-NetFirewallRule -DisplayGroup "リモート イベントのログ管理" –Enabled True # Windows ファイアウォール Set-NetFirewallRule -DisplayGroup "Windows ファイアウォール リモート管理" –Enabled True # ディスク Set-NetFirewallRule -DisplayGroup "リモート ボリューム管理" –Enabled True # リモートディスクサービスの起動 Set-Service vds -StartupType Automatic Start-Service vds |
ディスク管理は、管理する側のファイアウォールも開ける必要があります。
管理する側のファイアウォール設定
# ディスク Set-NetFirewallRule -DisplayGroup "リモート ボリューム管理" –Enabled True |
残念なことに、「デバイスマネージャー」はリモートに対応していないので、GUIでの確認はできません。
ファイアウォールのリモート管理は、「コンピューターの管理」から操作できないので、MMCのスナップイン追加でリモート接続を指定します。
Windows Server 2012 R2の標準サーバー管理コンソールである「サーバー マネージャーでもHyper-V Server 2012 R2の管理ができます。
サーバー マネージャーへHyper-V Server 2012 R2を追加
Windows Server 2012 R2には、RSAT(リモート サーバー 管理ツール)の機能が備わっているので、機能の追加でリモート管理ができるようになります。
Windows 8.1用のRSATが提供されているので、これをインストールするとWindows 8.1からHyper-V Server 2012 R2をリモート管理できるようになります。
RSATのインストール
スタートメニューに「サーバー マネージャー」が追加される
普通にサーバーマネージャーが使える
Copyright © MURA All rights reserved.