はじめに
Active Directoryの機能により、ドメイン参加PCのネットワークドライブ接続を制御することができます。ネットワークドライブ接続はユーザー構成に含まれるので、条件にあったユーザーがPCにログオン(サインイン)するとドライブ接続が実施されます。デフォルトではAuthenticated Usersなので認証されたユーザー全てが対象となります。
今回、特定のPCにログオンしたときだけ有効になるドライブ接続を設定した際に嵌ったことをメモがてら記載します。
ドライブマップの項目レベルの対象化でコンピュータ名に一致するを指定
ドライブ接続の設定は、グループポリシーオブジェクト(GPO)の基本設定(GPP: Group Policy Preference)の一部です。次のように作成します。
Active Directoryのグループポリシーオブジェクトを新規作成し、ユーザー構成 > 基本設定 > Windowsの設定 > ドライブマップ を右クリック > 新規作成から、マップされたドライブを作成しました。
アクション | 更新 |
---|---|
場所 | \\myserver\share |
再接続 | なし |
ドライブ文字 | 次の文字を使用: W |
このドライブの表示/非表示 | このドライブを表示する |
全てのドライブの表示/非表示 | 変更なし |
項目レベルで対象化する | DNSコンピュータ名がalfa.bravo.localである |
基本設定(GPP)では、GPOのセキュリティフィルターとは別に、個別の設定毎に「項目レベルで対象化する」で適用対象(または適用除外対象)を指定できます。
今回は、特定のコンピュータ上でドライブ接続を有効にしたいので、「項目レベルで対象化する」の設定から、新しい項目の追加でコンピューター名を選択し、DNSラジオボタンを選択してコンピューター名をDNS名で記述しました(上述表に記載の設定)。
この設定では、コンピュータalfaにログオンした際にWドライブが接続されるはずです。
ところが、alfa以外のコンピュータ(DNS名が例えばomega.bravo.local)にログオンしてもWドライブ接続が設定されてしまいました。
そこで、試しに「項目レベルで対象化する」でコンピュータ名に一致する設定を、DNSではなくNetBIOSに変更してみたところ、alfa以外のコンピュータからWドライブは消えていました。
ここでは、NetBIOS名で指定した場合は意図通りに振る舞い、DNS名では意図とは違った振る舞いをしています。
「項目レベルで対象化する」で指定したコンピュータ以外のPCで、gpresultコマンドを使って適用されているグループポリシー情報を調べてみたところ、DNS名で指定したときはドライブ接続情報が適用され、NetBIOS名で指定したときはドライブ接続情報は適用されていませんでした。
調査:DNS名に実在しないコンピュータ名を指定
原因調査として、項目レベルで対象化するのDNS名を、実在しない(DNSに登録されていない)alfa.echo.bravo.localとしてみたところ、コンピュータからWドライブが消えていました。
同様に、項目レベルで対象化するのDNS名を、実在しない(DNSに登録されていない)alfa.charlie.localとしてみたところ、コンピュータからWドライブが消えていました。
次に、項目レベルで対象化するのDNS名を、実在するwww.microsoft.comとしてみたところ、コンピュータ上にWドライブが表れました。
このことから、「項目レベルで対象化する」の設定で、コンピュータ名をDNSで指定した場合、ドライブマップの設定をするマシンの名前と照合するのではなく、指定したDNS名が名前解決できるかどうかだけを見ているような節があります。
この問題とほぼ同じ件が、microsoft.comのフォーラムに挙がっていました。(未解決)
https://social.technet.microsoft.com/Forums/windowsserver/en-US/304ff059-4694-4d92-a8b9-085648043dfa/drive-map-gpo-and-itemlevel-targeting-using-dns-computer-name-not-working-as-expected?forum=winserverGP
MSDNの説明によると、コンピュータ名をDNS名で指定したときは、DNS名からIPアドレスに解決し、解決されたIPアドレス(複数の場合あり)を、今度はコンピュータ上のネットワークデバイスのIPアドレス(複数の場合あり)と比較していき、そのうち1つにマッチしたら一致とみなすとあります。
https://msdn.microsoft.com/en-us/library/cc730752.aspx
説明と実際の振る舞いが一致していないので、バグのような気がしますが・・・