[Windows] 管理共有 (C$, D$など) にビルトイン administrator 以外は接続できない


スポンサーリンク


この章の目次と概要です。

ビルドイン administrator 以外のユーザーでも管理共有に接続する方法

Windows Server 2008 以降、Windows Server 2008 や Windows Server 2012 では、UAC (ユーザーアカウント制御) により、ビルトイン(デフォルトで存在する) administrator 以外の管理者ユーザーは管理共有に接続できないようになっています。

例えば、ローカルのユーザーアカウントとして、adminuser を作成してadministrators グループに追加後、net use コマンドで管理共有に接続しようとしても、アクセス拒否となります。

C:\> net use X: \\testserver\C$ /user:adminuser password
システム エラー 5 が発生しました。

アクセスは拒否されました。

C:\>

これは、UAC の機能によって、管理者権限で処理をするために、ビルトインの administrator は権限昇格が不要、なのに対して、追加の管理者ユーザーは権限昇格が必要、となるためです。

よって、追加の管理者ユーザーで管理共有に接続するためには、UAC を無効化にする必要があります。

UAC を無効化にするにはレジストリで EnableLUA を 1 -> 0 に変更して、OS を再起動します。

表. UAC を無効化
項目
場所 HKLM¥SOFTWARE¥Microsoft¥Windows¥CurrentVersion¥Policies¥System
名前 EnableLUA
種類 DWORD
1 (有効) -> 0 (無効) に変更

もしくは、リモート UAC のみ無効化にする方法でもよいです。
具体的には、レジストリで LocalAccountTokenFilterPolicy を新規作成し、値に 0 を設定します。

表. リモート UAC を無効化
項目
場所 HKLM¥SOFTWARE¥Microsoft¥Windows¥CurrentVersion¥Policies¥System
※場所は EnableLUA と同じ。
名前 LocalAccountTokenFilterPolicy
種類 DWORD
0

LocalAccountTokenFilterPolicy を新規作成し、0 を設定する方法では、リモート UAC のみが無効化となります。

そのため、サーバー内での操作については、これまで通り、UAC の機能が有効のままなので、ビルトインの administrator 以外の管理者ユーザーについては、権限昇格の操作が必要なままとなります。

EnableLUA と LocalAccountTokenFilterPolicy について、これまでの記述を整理すると以下のようになります。

表内の “ローカル” はサーバーにログインしてから権限昇格が必要になるか否か、”管理共有” はリモートサーバーから管理共有に接続できるか否かを説明しています。

表. EnableLUA / LocalAccountTokenFilterPolicy の無効化を比較
ユーザー デフォルト EnableLUA を 0 LocalAccountTokenFilterPolicy を 0
ビルトイン administrator ローカル:昇格不要
管理共有:接続可
ローカル:昇格不要
管理共有:接続可
ローカル:昇格不要
管理共有:接続可
追加した管理者ユーザー ローカル:昇格必要
管理共有:接続不可
ローカル:昇格不要
管理共有:接続可
ローカル:昇格必要
管理共有:接続可

 

Windows Server 2012 / 2012 R2 での注意点

Windows Server 2012 で EnableLUA を 1 → 0 (無効化) にした場合、OS 起動時に以下のエラーがイベントログに記録されるようになりました。
(未確認ですが、Windows Server 2012 R2 も同様と考えられます)

表. EnableLUA を 1 → 0 (無効化) で記録されるイベントログ
ログの名前 システム
ソース Service Control Manager
イベント ID 7000
レベル エラー
メッセージ UAC File Virtualization サービスを、次のエラーが原因で開始できませんでした:
このドライバーの読み込みはブロックされています

 
このエラーログを回避するためには、UAC File Virtualization サービスの起動を抑止します。
無効化の方法としては、以下のレジストリ (Start) を 2 → 4 に変更します。

表. UAC File Virtualization サービスを無効化
項目
場所 HKLM¥System¥CurrentControllSet¥Services¥luafv
名前 Start
種類 DWORD
2 → 4 に変更

 
レジストリ変更後、OS 再起動すると、UAC File Virtualization のエラーは記録されなくなります。

ちなみに、、
Windows Server 2012 や Windows Server 2012 R2 の場合、EnableLUA を無効化にすると、Windows ストアアプリが使用できなくなるようです。

とはいえ、サーバー OS である Windows Server 2012 や Windows Server 2012 R2 はデフォルトでは Windows ストアアプリを使用できないようになっているため影響することはないと思われます。

但し、「デスクトップ エクスペリエンス」の機能を追加すれば、Windows ストアアプリを使用できるようになりますので、注意事項として覚えておいたほうがよさそうです。

参考サイト

 
スポンサーリンク