トップ回答者
グループポリシーにてログオンスクリプトが実行されない

質問
-
TechNet フォーラム ご担当者様
お世話になっております。よく似た質問が数件ありましたが、自環境と異なるものあり、
切り分けに煮詰まってきたため、改めて問い合わせさせていただきます。以下の質問に対して、ご回答の程、宜しくお願いします。
■1. 質問者kssolkodama
■2. お問い合わせ概要Windows2012R2の環境のグループポリシーにて、ネットワークドライブマウント(Zドライブ)の
ログオンスクリプトが実行されません。
ユーザーがADにログイン(サインイン)時に、Zドライブとしてマウントするためには、
どのように設定変更等すればよいか、皆様のお知恵を拝借させていただきたいと思います。【詳細】
Windows2012R2 1台のサーバで、別のファイルサーバの共有フォルダをZドライブとして
各ユーザーにマウントさせたい使わせたいと考えています。
グループポリシーでログオンスクリプトの(Z_drive_bat)を実行する設定にしていますが、
グループポリシー自体は適用さているのにも関わらず、バッチが実行された形にはなっていません。ちなみに、並行で動作している、毎回ログオン時に、
デスクトップ内のファイルを消すログオンスクリプトは、なぜか正しく動いています。
<バッチの中身>(Z_drive_bat)
@echo off
net use Z: /D
net use Z: \\Server名\share1 /PERSISTENT:NO
exit<切り分け>
①バッチを直接実行すると、Zドライブのマウント可能。(成功)
②ADユーザーのプロパティのログオンスクリプト(SYSVOL配下にバッチを配置)では、Zドライブマウント可能(成功)
③グループポリシーでログオンスクリプトを動かすポリシー実装の場合、マウントしない(失敗)
④ADのグループポリシーで以下の項目を実装しても、マウントしない。(失敗)[コンピュータの構成]-[ポリシー]-[管理用テンプレート]
システム/グループポリシー
・ログオンスクリプトの遅延を構成する ⇒ [無効]
・コンピューターの起動およびログオンで常にネットワークを待つ ⇒ [有効]
・ログオンスクリプトを同期的に実行する ⇒ [有効][ユーザーの構成]-[ポリシー]-[Windowsの設定]-[スクリプト]-[ログオン]
Z_drive_bat ※中身は上記参照<その他切り分け情報>
・ADサーバへクライアントからのPing、DNSのクエリーなどは特に問題なし。
・ADサーバ、ファイルサーバ、クライアント共にWindowsF/Wは無効。
・クライアント側のアンチウイルスのサービスを停止していても同現象。
・マウント先のファイルサーバの共有フォルダは、Everyoneフルコントロールで共有済み。
・クライアント上で、MMCからの[ポリシーの結果セット]で、当ポリシーが適用されている。
・バッチ自体もEveryoneフルコン権限を付与。
・クライアント上で、gpresult /Zを実行しても、ポリシー自体は適用されている。(Zドライブマウントなし)
・何度もgpupdate/forceコマンド 実行済み。
・手動でバッチを実行すると、ネットワークドライブはマウントする。
・並行で動いているログオンスクリプトは正常に動作している。
(並行で動いているバッチ ⇒ デスクトップ上のファイルを強制的に消去するバッチ)
・ADの遅延ポリシーが適用されているものと思い、5分後確認したがZドライブがマウントしていない。
・実行するADユーザー、Win10端末、端末の機種を変更しても同じ現象
・グループポリシーの優先順序を上位の方に上げましたが、同じ現象。
・バッチでだめならVBSに実装を載せ替えようかと検討中。
・UACがらみで同様の事象の記事もありましたが、まだ未対応。
■3. 製品とプラットフォームのバージョン(Edition 含む)とサービスパックサーバ:Windows2012R2 ST 64bit×1台 FSMO test.loc Win10 Fall Creators Update 管理用テンプレート適用済み
クライアント:Windows 10 Pro Ver1709 Fall Creators Update×数台
■4. エラーが表示される場合はエラーメッセージの内容(エラーコードが表示される場合はエラーコード含む)エラーメッセージは特にでず、Zドライブがコンピュータ上にマウントしない。
■5. 投稿する前に確認した内容Active Directory:「コンピュータの構成」グループポリシーが適用されない場合の原因とは
<http://office-qa.com/win/win83.htm>ログオン スクリプトが実行されない問題 (今更
<http://mfuk.hateblo.jp/entry/2014/09/14/208>ADからログオンスクリプトにて割り当てたネットワークドライブが上手く適用されない
<https://social.technet.microsoft.com/Forums/ja-JP/3f6ec2e6-2ee5-45b1-984d-5dc97d975bf0/ad123631242512525124641245812531124731246312522125031248812395?forum=windowsserver2008ja>コンピュータ用ポリシーのスタートアップが実行されない
<https://social.technet.microsoft.com/Forums/ja-JP/aeed9d86-a7e4-48b0-b038-0f6cc2fb4e09/12467125311250012517125401247929992125091252212471125401239812?forum=activedirectoryja>ログオン スクリプトは、ユーザーが Windows 8.1 ベースのコンピューターにログオンした後、5 分間は実行されません。
<https://support.microsoft.com/ja-jp/help/2895815/logon-scripts-do-not-run-for-five-minutes-after-a-user-logs-on-to-a-wi>
■6. お問い合わせの目的、ゴールログオンスクリプトがグループポリシーでもマウントができること。
以上、宜しくお願いします。
- 編集済み 栗下 望Microsoft employee, Moderator 2018年9月24日 23:21 公開フォーラムのため会社名、質問者名を削除させていただきました
- 編集済み kssolkodama 2018年9月24日 23:57
回答
-
・バッチファイルとして認識されていない可能性
ファイル名を「Z_drive_bat.bat」にして、
[ユーザーの構成]-[ポリシー]-[Windowsの設定]-[スクリプト]-[ログオン]
Z_drive_bat.batとします。
・バッチファイルの配置場所を確認する
このファイルはSYSVOL配下など、アクセスできる共有フォルダにあるという認識です。
設定画面内の「ファイルを表示」をクリックした際に出る既定の場所がここになるはずです。・実行されているか、いないか
バッチ冒頭に適当なファイルを吐く処理を入れてみてください。
たとえば echo hoge > c:\temp\実行された.txt など。
上記の例の場合、tempのフォルダは書き込みできる状態で用意します。
そもそも実行されていないのか、実行されたけど net use が機能していないかの切り分けになります。
net use の結果をリダイレクトしてもいいですね。・権限が足りない
UACなどの影響で権限が足りない場合、実行されても機能していない可能性があります。コンピューターのポリシーに入れてみても同様でしょうか。以上、参考になれば幸いです。
- 回答としてマーク kssolkodama 2018年10月1日 4:41
すべての返信
-
ここはコミュニティ フォーラムである「TechNet フォーラム」で、パートナー サポートコミュニティではありません。Microsoft パートナー サポート コミュニティはクローズされました。
Microsoft 担当者からの回答が必要であれば、有償サポート窓口に適切な契約で(契約がなければオンデマンドでも可能なので契約をして)問い合わせてください。
コニュニティーフォーラムとしての情報提供を望むのであれば、その旨の投稿をしてください。またコニュニティーフォーラムなので会社名や個人名などは不要です。必要がなければ編集して消去してください。
hebikuzure
- 編集済み Hebikuzure aka Murachi AkiraMVP 2018年9月24日 4:35
-
・バッチファイルとして認識されていない可能性
ファイル名を「Z_drive_bat.bat」にして、
[ユーザーの構成]-[ポリシー]-[Windowsの設定]-[スクリプト]-[ログオン]
Z_drive_bat.batとします。
・バッチファイルの配置場所を確認する
このファイルはSYSVOL配下など、アクセスできる共有フォルダにあるという認識です。
設定画面内の「ファイルを表示」をクリックした際に出る既定の場所がここになるはずです。・実行されているか、いないか
バッチ冒頭に適当なファイルを吐く処理を入れてみてください。
たとえば echo hoge > c:\temp\実行された.txt など。
上記の例の場合、tempのフォルダは書き込みできる状態で用意します。
そもそも実行されていないのか、実行されたけど net use が機能していないかの切り分けになります。
net use の結果をリダイレクトしてもいいですね。・権限が足りない
UACなどの影響で権限が足りない場合、実行されても機能していない可能性があります。コンピューターのポリシーに入れてみても同様でしょうか。以上、参考になれば幸いです。
- 回答としてマーク kssolkodama 2018年10月1日 4:41
-
やき様
はじめまして。ご回答ありがとうございます。
kssolkodamaと申します。結論から言いますと、UACが有効になっていたことが原因で、
無効にしたところ、ネットワークドライブがマウントできました。
【ご参考】
<http://dsp74118.blogspot.com/2012/01/windows-vista72008.html>
<https://answers.microsoft.com/ja-jp/windows/forum/windows_10-other_settings-winpc/windows10%E3%81%A7ad%E3%81%AE%E3%83%AD%E3%82%B0/13ae5edb-6b95-4141-a0f8-3fa47d0487f7>
バッチファイル内にログを取得してみて、C:\temp\xxx.txtにログを取得し、
中身を確認すると、net useコマンドは実行されているようで、
ログオンスクリプトは動作しておりました。テスト用アカウントはDomainAdminsの権限で、
PCのローカル管理者を持つ権限でテストをしておりましたが、
Explorer上でマウントが出来ていないのは、ローカルPCの管理者権限を持つ
Administratorsグループのユーザーでログオンした場合に、
UACで引っかかり、Explorer上ではドライブマウントがされない事象が発生する
既知の仕様だそうで、UACを無効にすれば回避できたようです。
なお、DomainUsers権限に紐づいているローカルPCの一般ユーザー権限だと
発生しませんでした。(正常にネットワークドライブマウント出来ました)
他のログオンスクリプトが動いていたので、(delコマンドでカレントユーザのデスクトップ上のファイルを消去するバッチ)
ポリシーの適用遅延の不具合なのではと最初に疑っておりましたが、
切り分けの優先順位としてUACはあまり関係ないだろうと想定していたのもあり、
すぐには気がつきませんでした。今後はログオンスクリプトが動かない場合は、真っ先にUACを疑うようにします。
ご返答、誠に感謝いたします。以上、宜しくお願いします。
-
質問者のkssolkodamaと申します。
結論から申しますと、UACが有効になっていたことが原因で、
無効にしたところ、ネットワークドライブがマウントできました。【ご参考】
<http://dsp74118.blogspot.com/2012/01/windows-vista72008.html>
< https://answers.microsoft.com/ja-jp/windows/forum/windows_10-other_settings-winpc/windows10%E3%81%A7ad%E3%81%AE%E3%83%AD%E3%82%B0/13ae5edb-6b95-4141-a0f8-3fa47d0487f7>まさかのUACが原因でしたが、ログオンスクリプトが動かない事象が出た場合は
今後は、真っ先にUACを疑うようにします。
ありがとうございました。 -
UAC が原因と分かったからと言って、UAC を無効にしてソリューションとするのは後の骨頂なので、
に書かれているような回避策を取りましょう。
Hebikuzure aka Murachi Akira
-
もう解決済みで、ここはご覧にならないかもしれませんが、UACもさることながら、ドライブのマウントのスクリプトを「コンピューターのポリシー」で実行させることの方が、まずいのではないかと思います。
ユーザーが(の権限で)手動でネットワークドライブを接続させる行為をポリシーとスクリプトで行うわけですから、そこは「ユーザーのポリシー」ですよね。
グループポリシーは以下のように適用されます
1.コンピュータが起動
2.コンピュータがドメインコントローラにログオン
3.コンピュータのOUに基づき「コンピューターのポリシー」が適用
4.ユーザがログオン
5.ユーザーOUに基づきの「ユーザーのポリシーとスクリプト」が適用
コンピュータのポリシーでネットワークドライブが接続できるのであれば、それは共有アクセス権が「EveryOne フルコントロール」じゃないとマウントできないんじゃないかと思います。