タイトルは Hyper-V 上のとしていますが、物理環境で Windows Server 2008 R2 を実行している場合も同じになります。
リモートデスクトップにはオーディオリダイレクトの機能があります。
オーディオリダイレクトをすることで以下のように、接続先で再生したマルチメディアファイルの内容をリモートデスクトップの接続元のスピーカーで再生することができます。
リモート オーディオ再生が有効な場合、リモートデスクトップで対象の端末に接続した場合、タスクトレイのスピーカーマークが有効な状態となり、接続をした端末で再生したマルチメディアファイルの内容を接続元で再生することが可能となります。
VDI などでよく使われるシナリオですね。
この機能ですが、接続先の端末でオーディオの再生機能が無くても使用することが可能です。
通常の物理 PC では、[サウンド、ビデオ、およびゲーム コントローラー] のデバイスは以下のように認識されています。
Hyper-V のゲスト OS はオーディオ関連のハードウェアデバイスはないため、デバイスマネージャーで上記のデバイスは存在していません。
# 以下は Windows 7 のゲスト OS のデバイスマネージャーの内容になります。
以下の画像は、同じゲスト OS に VMConnect で接続した画面になります。
ゲスト OS にはオーディオ関係のデバイスは搭載されていませんので、[オーディオ出力デバイスがインストールされていません。] となります。
接続先に Windows 7 を使用している場合は、接続先に設定をしなくても、リモートデスクトップでリモート オーディオ再生を有効にして接続をすると、オーディオ再生を有効にすることが可能です。
Hyper-V 上で実行している Windows Server 2008 R2 でも状態は同じになります。
ゲスト OS 上のデバイスマネージャーではオーディオデバイスは認識されていません。
ただし、タスクトレイのスピーカーアイコンにマウスをおいた時のメッセージが [Audio サービスが実行されていません。] となります。
Windows Server 2008 R2 はサーバー OS ですので、初期設定では [Windows Audio] サービスが停止されています。
Windows 7 ではこのサービスは、[自動開始] の設定となっています。
Windows Server 2008 R2 上でこのサービスを起動させることで、サービスとしてはオーディオデバイスを使用できる準備が整います。
# 常時使用したい場合には、スタートアップを [自動] にします。
サービスを起動することで、タスクトレイのアイコンにマウスをおいた時のメッセージが Windows 7 と同じになります。
それでは、この状態でリモートデスクトップで接続をしてみます。
Windows Server 2008 R2 では、サービスを起動しただけでは、リモートデスクトップ接続時にリモート オーディオ再生を使用することはできません。
リモートデスクトップで接続をしても [オーディオ出力デバイスがインストールされていません。] となります。
Windows Server 2008 R2 でリモートオーディオ再生を使用する場合、[Windows Audio] サービスを起動するのとグループポリシーを設定する必要があります。
[gpedit.msc] を実行して以下のポリシーを変更します。
- コンピューターの構成
- 管理用テンプレート
- リモート デスクトップ サービス
- リモート デスクトップ セッション ホスト
- デバイスとリソースのリダイレクト
- オーディオおよびビデオ再生リダイレクトを許可する
- デバイスとリソースのリダイレクト
- リモート デスクトップ セッション ホスト
- リモート デスクトップ サービス
- 管理用テンプレート
他のバージョンの Windows Server でも同じだと思うのですが、サーバー OS ということでこのポリシーは [未構成] となっており、サーバー OS では、リモート オーディオ再生のためのリダイレクトが許可されていない状態となっています。
このポリシーを有効にして、 [gpupdate /force] を実行してポリシーを反映させます。
一度リモートデスクトップを終了させて再度接続をするとリモート オーディオ再生が有効な状態となります。
# ポリシーを有効にしても接続を一度終了させないと有効になりません。
Windows Server 2008 R2 のようなサーバー OS にリモートデスクトップで接続した際にオーディオを再生するというシチューえーしょんがあるのかは微妙なのですが、このような設定をすることでサーバー OS でも使用することができます。
この設定ですがレジストリでは以下の箇所で制御がされています。
[HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTTerminal Services]
fDisableCam (REG_DWORD)
[0] がリモート オーディオ再生が有効、[1] がリモート オーディオ再生が無効な状態となっています。
レジストリで変更したい場合はこの辺を操作してみるとポリシーを設定できるかと思います。
今回は Hyper-V 上の 2008 R2 に対して検証していますが、VM Role として展開した Windows Server 2008 R2 でも同様の操作で有効にすることができます。
使うことがあるかはちょっとわかっていないのですがメモとして残しておきたいと思います。
2011/1/23 追記
twitter で RD セッションホストの構成でリダイレクトを有効にすると設定できると教えていただきましたので情報を追記。
情報ありがとうございます!!
2008 R2 では、リダイレクトが無効になっているのですが、[リモート デスクトップ セッションホストの構成] で無効になっていました。
リモート デスクトップ セッション ホストの構成で、[RDP-Tcp] のプロパティを開くと、
[クライアント設定] で [オーディオおよびビデオの再生] がデフォルトでは無効になっています。
グループポリシーで設定しないでもこの設定から無効を外すとリモートオーディオ再生ができるようになります。
レジストリとしては
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp]
fDisableCam (REG_DWORD)
の値になります。
# 0 : リモート オーディオ再生を有効 / 1 : リモート オーディオ再生を無効 はグループポリシーと同じです。
グループ ポリシーで設定できる内容は、大元のレジストリ値は用意されているのが一般的なはずですので言われてみればポリシー以外でも設定できますよね…。
勉強になりました~。
[…] Hyper-V 上の Windows Server 2008 R2 でリモート オーディオ再生を使用 http://engineermemo.wordpress.com/2011/01/22/hyper-v-%E4%B8%8A%E3%81%AE-windows-server-2008-r2-%E3%8… […]
Hyper-V上に構築した Windows Server 2008 R2 のオーディオをリモートデスクトップクライアント上で再生する » netplanetes log
29 5月 11 at 21:00
古い記事へのコメントで恐縮です。
Hyper-VでRadiko録音用ゲストを作ろうとしていたので、非常に参考になりました。試してみます。
通りすがりの名無しさん
15 7月 12 at 13:25
[…] Hyper-V 上の Windows Server 2008 R2 でリモート オーディオ再生を使用 の設定を使用することでオーディオリダイレクトをすることができますので、音を出すこともできるかと。 […]
Surface RT で SSMS を使ってみる | SE の雑記
16 3月 13 at 14:53