3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(Windows8.1)ログオンスクリプトの実行に時間がかかる

Windows10がリリースされて今更という感ですが、ドメインWindows8.1のクライアントを参加させてログオンすると、ログオンスクリプトがしばらくしないと実行されないとう現象に遭遇しました。
ググると、8.1ではログオン後5分経過してからログオンスクリプトが実行されるという仕様の改悪があったそうな。。。
(ちなみに、Windows10ではログオン後すぐにスクリプトが実行されました)

グループポリシーの設定で、今までどおりログイン後即時実行できるとのことでした。

管理テンプレートの更新

しかし、現在のADがWindowsServer2008のなので、グループポリシーのテンプレートにログオンスクリプトの遅延時間の設定項目がありません。

ということで、WindowsServer2012,Windows8.1用の管理テンプレートを既存のADに追加することにしました。
まず、適当なクライアントPCでhttps://www.microsoft.com/ja-JP/download/confirmation.aspx?id=41193から、WindowsServer2012,Windows8.1用の管理テンプレートをダウンロードします。

ダウンロードされた Windows8.1-Server2012R2ADMX-RTM.msi を実行します。
すると、デフォルトでは以下の場所にテンプレートファイルとランゲージファイルが展開されます。

C:\Program Files (x86)\Microsoft Group Policy\Windows 8.1-Windows Server 2012 R2\

ドメインコントローラが一台しかなく、そのコンピュータ上でGPOの編集をするのであれば以下のパスに上記の展開されたadmxファイルを保存します。

C:\Windows\PolicyDefinitions

ドメインコントローラが2台以上であったり、GPOを編集するのが別PCで行う場合は、セントラルストア(中央ストア)にADMXファイルを保存します。(admxは以下のフォルダの直下、admlは言語フォルダ"ja-JP"の配下に置きます)
セントラルストアは以下のパスになります。

・admxの置き場所(SYSVOL共有)
C:\Windows\SYSVOL\domain\Policies\PolicyDefinitions
あるいは、
\\ドメイン名\SYSVOL\ドメイン名\Policies\PolicyDefinitions

・adml(日本語版)の置き場所
C:\Windows\SYSVOL\domain\Policies\PolicyDefinitions\ja-JP
あるいは、
\\ドメイン名\SYSVOL\ドメイン名\Policies\PolicyDefinitions\ja-JP

(セントラルストアについては、Blogs - Ask the Network & AD Support Team - Site Home - TechNet Blogsやがグループポリシーのアーキテクチャ~その1~ | MCTの憂鬱参考になります。簡単に言うとテンプレートファイルが共有され、すべてのコンピュータで参照できるということです。WindowsServer2003でもセントラルストアは利用可能です。ただADMXを使ってGPOを編集できるのはVista,2008以降ですが。。。)
セントラルストアにテンプレートを保存するのはPDCマスタになっているDCで行うのが推奨なようです。(netdom query fsmoコマンドでPDCが分かります)

今回既に、セントラルストアは作成済みでした。(DCがまだWindowsServer2003の時に、Windows7端末がドメインに参加するので、Win7を管理できるように管理テンプレートを追加していました)
8.1,2012R2用の管理テンプレートファイルは、既にセントラルストアに存在しているファイルと同名でしたが、そのまま上書きで問題ないようです。

ログオンスクリプトの遅延を構成

これで設定できるようになったので、グループポリシー管理エディタを立ち上げ以下の設定を行います。

コンピュータの構成/ポリシー/管理用テンプレート(セントラルストア..)/システム/グループポリシー/ログオンスクリプトの遅延を構成する 上記の設定の値を「無効」にすることで、ログオン後直ちにスクリプトが実行されます。有効にすると任意の遅延時間を設定できます。

(どうやらヘルプをみると、遅延するようになったのは、ディスクの競合が防止し、デスクトップの反応を良くするためだそうです)

参考:
[AD] Windows 8.1 / Windows Server 2012 R2 でログオンスクリプトの実行が 5 分遅れる現象について (1/2) | インフラSEの運用・構築メモ
[AD] Windows 8.1 / Windows Server 2012 R2 でログオンスクリプトの実行が 5 分遅れる現象について (2/2) | インフラSEの運用・構築メモ
ログオン スクリプトが実行されない問題