複数のWindowsマシンでスクリーンセーバーを管理するのは、特に情報セキュリティのヒントを含む同じスライドショーを全員に見せたい場合、かなり面倒です。通常、各PCで個別に設定を調整するのは理想的ではありません。真の魔法はグループポリシーにあります。グループポリシーを使用すると、同じスクリーンセーバーの設定、画像、タイミングをドメイン内のすべてのコンピューターに一度にプッシュできます。しかし、設定方法は?それほど複雑ではありませんが、いくつかの手順が必要です。主に、画像ファイルを共有ネットワークフォルダーにコピーし、GPOを適切に構成するだけです。Windowsが一部の設定を暗号化または非表示にするのは少し奇妙ですが、この方法を使用すると、どこにでも適用される一種のテンプレートが作成されるため、全員のスクリーンセーバーが同じ外観になり、管理が容易になります。
グループポリシーで企業向けスライドショースクリーンセーバーを有効にする方法
スクリーンセーバー画像の準備方法
まず最初に、JPG画像をすべて準備しましょう。これらは共有ネットワークフォルダ(できればドメインコントローラのSYSVOL共有)に保存します。Windowsマシンに、\\woshub.loc\SYSVOL\woshub.loc\scripts\ScreenSaverのようなフォルダを作成します。そこに画像(情報セキュリティルールが適用されるJPG画像や、全員に公開したい画像など)をドロップします。Authenticated Usersグループにフォルダの読み取り権限があることを確認してください。権限がないと、誰も画像を見ることができません。Windowsは必要以上に操作を難しくしているからです。
GPP を使用してユーザー マシンにファイルをコピーする
さて、ここからが少し難しいところです。すべてのJPGファイルを各ユーザーのマシンに自動的にコピーしたいのです。そこで、グループポリシー管理 ( gpmc.msc ) を開き、新しいGPOを作成(または既存のGPOを編集)して、ユーザーアカウントが含まれるOUにリンクします。手順は以下のとおりです。
- GPOで、「ユーザーの構成」>「基本設定」>「Windowsの設定」>「フォルダー」に移動します。 という新しいフォルダー項目を作成します
%Public%\Pictures\ScreenSaver。これにより、各PCのパブリックユーザープロファイルにScreenSaverフォルダーが作成され、Windowsはそこで画像を検索します。 - 「環境設定」の「ファイル」セクションに切り替えて、ファイルのコピールールを作成します。「 」から「
\\woshub.loc\SYSVOL\woshub.loc\scripts\ScreenSaver\*」へすべてのファイルをコピーする新しいルールを選択します%Public%\Pictures\ScreenSaver。ワイルドカード「*」を使用して、すべてのJPGファイルを取得します。こうすることで、GPOが適用されるたびに、すべての画像が各PCに同期されます。
画像フォルダを使用するようにレジストリを設定する
ここからが少し…難解な部分です。HKEY_CURRENT_USER \SOFTWARE\Microsoft\Windows Photo Viewer\Slideshow\ScreensaverにEncryptedPIDLというレジストリ設定があり、画像へのパスが格納されていますが、Base64 形式(暗号化された形式)で保存されています。参照マシンでは、レジストリエディターを開き、該当のハイブに移動してEncryptedPIDL の値をコピーすることで、この値を取得できます。次に、GPO で「ユーザーの構成」>「ポリシー」>「管理用テンプレート」>「コントロールパネル」>「個人用設定」に移動し、新しいレジストリ項目を作成します。
- ハイブ:
HKEY_CURRENT_USER - キーパス:
SOFTWARE\Microsoft\Windows Photo Viewer\Slideshow\Screensaver - 値の名前:
EncryptedPIDL - 値のタイプ:
REG_SZ - 値のデータ: 参照PCから取得したBase64文字列を貼り付けます
「共通」タブの「適用されなくなった項目を削除する」チェックボックスをオンにしておけば、後でポリシーが削除されたときにこの設定がクリアされます。これは少し扱いにくいですが、Windowsがスライドショーに使用するフォルダーを記憶するために使われています。
GPOでスクリーンセーバーとロックの設定を構成する
- [ユーザーの構成] > [ポリシー] > [管理用テンプレート] > [コントロール パネル] > [個人設定]に移動します。
- 「特定のスクリーンセーバーを強制する」を有効にしてに設定します
PhotoScreensaver.scr。これにより、Windows は常に画像にスライドショーを使用するようになります。 - スクリーンセーバーのタイムアウトを「スクリーンセーバーのタイムアウト」で設定します。通常は300秒(5分)で問題ありませんが、ご自身のポリシーに合わせてカスタマイズしてください。
- 画面を自動的にロックしたい場合は、「画面をパスワードで保護」を有効にしてください。また、ユーザーがスクリーンセーバーを変更できないようにしたい場合は、「スクリーンセーバーの変更を禁止」をオンにしてください。
完了したら、GPOエディターを閉じて、gpupdate /forceクライアントマシンで強制的に更新を実行します。その後、マシンがアイドル状態になると、スクリーンセーバーが起動し、情報セキュリティルールのスライドショーが表示されます。問題が発生する場合があります。特にBase64レジストリ値の場合、すべてが正しく同期されるまで再起動やログインが必要になることがあります。
何が起こっているかを再確認したい場合は、スクリーンセーバーがアクティブかどうかを示す PowerShell スニペットを次に示します。
Get-WmiObject win32_desktop | Where-Object { $_. Name -match $env:USERNAME }
スクリーンセーバーアクティブ: True スクリーンセーバーセキュア: False スクリーンセーバータイムアウト: 60
まとめ
- 適切な権限を持つ共有ネットワーク フォルダーに画像をコピーします。
- ファイルをコピーするための GPO を作成します
%Public%\Pictures\ScreenSaver。 - 参照マシンに基づいて、GPO 内のレジストリEncryptedPIDL値を設定します。
- グループ ポリシーでスクリーン セーバーとタイムアウトを構成します。
- グループ ポリシーの更新を強制し、クライアントでテストします。
まとめ
このプロセス全体は、実際よりも複雑に聞こえます。一度設定してしまえば、ドメイン全体に統一されたスライドショースクリーンセーバーを展開するのに、各PCで手作業で調整する必要はもうありません。確かに、Windowsではこれらの設定の一部にアクセスしたり変更したりするのが難しく、特にレジストリ値が暗号化されている場合はなおさらです。しかし、これらの手順に従うことで、一元化された統一感のある画面に近づくことができます。1台ずつ設定するのにうんざりしている人にとって、この方法が少しでも時間の節約になれば幸いです。