У руководства возникла идея установить на всех ПК организации одинаковый скринсейвер (экранную заставку), представляющий собой слайд-шоу с изображениями. В качестве изображений планируется использование картинок, выполненных в корпоративном стиле компании, на которых указываются основные правила информационной безопасности, полезные советы для пользователей и другая справочная информация. В результате, у меня получилось решение распространения файлов с картинками и управления экранной заставкой с помощью возможностей GPO (групповых политик).
Сразу отмечу, что в компании в качестве клиентских ОС используются все поддерживаемые версии Windows: Windows 7, Windows 8.1 и Windows 10, поэтому решение по управлению корпоративной заставкой должно быть универсальным и работать на любой версии ОС.
Первоначально рассматривался вариант по созданию собственного скринсейвера в формате *.scr, но такая методика требует дополнительного софта и не достаточно гибка и проста в управлении.
В ОС Windows, начиная с Windows 7 на экране блокировки в качестве скринсейвера можно отображать слайд шоу из изображений в указанной папке, но управлять этими настройками с помощью GPO нельзя. Пришлось искать обходное решение.
Общий сетевой каталог с изображениями для слайд шоу
В первую очередь на любом сервере сети создадим общий сетевой каталог, в котором будут храниться оригиналы файлов с изображениями для слайдшоу. Необходимо предоставить всем пользователям домена (группе Domain Users) права на чтение файлов в этой папке. К примеру, в нашем случае файлы хранятся по следующему UNС пути: \\srv1\Install\Img. Скопируем в нее файлы изображений.
Затем создадим файл со скриптом copy_screens.bat, который должен подключать данную сетевую папку на клиентах и копировать файлы с изображениями для скринсейвера на локальный диск каждого компьютера в папку C:\Screen. Код скрипта copy_screens.bat представлен ниже.
net use s: \\srv1\Install\Img
mkdir C:\Screen
del /Q C:\Screen\*.*
xcopy S:\*.* C:\Screen
Скопируйте скрипт в каталог SYSVOL на контроллере домена (C:\Windows\SYSVOL\sysvol\contoso.com\scripts). Затем с помощью редактора групповой политики создайте новую GPO или отредактируйте имеющуюся. С целью демонстрации, мы будем запускать задание копирования через разовое задание планировщика (если нужно обновить слайды, назначьте повторный запуск задания). Создадим с помощью GPO новое задание планировщика для всех ПК.
Перейдите в раздел User Configuration > Preferences > Control Panel Settings > Scheduled Tasks и создайте новое задание (New->Scheduled Task at Least Windows 7) со следующими параметрами:
Действие: Update
Запускать задание из-под: %LogonDomain%\%LogonUser%
На вкладке Triggers, добавим новое условие New Trigger -> On a Schedule -> One Time
На вкладке Action – укажем, что нужно запускать скрипт: \\contoso.com\SYSVOL\contoso.com\scripts\copy_screens.bat
Сохраните изменения в задании и назначьте политику на OU с пользователями.
Настройка параметра скинсейвера на эталонном ПК
Теперь на эталонном компьютере нужно настроить сринсейвер, чтобы он брал изображения для слайдшоу из папки C:\Screen. Настройки соответствующих веток реестра этого компьютера в дальнейшем распространим на все ПК с помощью GPO.
В случае Windows 10 перейдите в следующий раздел настроек: Start -> Settings -> Personalization -> Lock Screen. Промотайте вниз и найдите Screen Saver Settings. В качестве скринсейвера выберите ‘Photos’ и нажмите кнопку Settings.
Укажите путь к папке C:\Screen, включите опцию Tick Shuffle Pictures и сохраните изменения.
Теперь нам нужно экспортировать ветку реестра HKEY_CURRENT_USER > Software > Microsoft > Windows Photo Viewer > Slideshow > Screensaver в reg файл и импортировать ее на контроллере домена (или другом компьютере, с которого выполняется редактирование GPO).

Сохраните reg файл и импортируйте его на компьютер, с которого вы редактируете GPO.
Групповая политика управления экранной заставкой
Откройте GPO и перейдите в ветку GPP: User Configuration -> Preferences -> Windows Settings -> Registry. Создайте новый параметр New > Registry Wizard > Next
Перейдите к ветке HKEY_CURRENT_USER -> Software -> Microsoft -> Windows Photo Viewer -> Slideshow -> Screensaver. Отметьте следующие ключи и нажмите Finish:
- EncryptedPIDL
- Shuffle
- Speed
Затем перейдите в раздел GPO User Configuration -> Policies -> Administrative Templates -> Control Panel -> Personalization. Включите политику Force specific screen saver, в качестве значения укажите PhotoScreensaver.scr. (по умолчанию Photoscreensaver.scr использует в качестве источника изображений для слайдшоу каталог C:\Users\Public\Pictures\Sample Pictures).
Совет. Кроме того можно включить следующие политики в разделе Personalization
- Enable Screen Saver
- Password Protect Screen – защита экрана блокировки паролем (пзволяет автоматически заблокировать экран компьютера, если пользователель отошел от рабочего места)
- Screen Saver timeout – время простоя компьютера в секундах, после которого автоматически включается скринсейвер
На этом все, закройте консоль Group Policy Management и обновите политики на клиентах (
gpupdate /force
). На всех компьютерах, после указанного времени простоя должен включаться единый корпоративный скринсейвер в виде слайдшоу из изображений в папке c:\Screen.
Добрый день! Хорошая статья! Спасибо!
Но возник один нюанс, параметры заставки пользователь менять не может, но он может изменить путь к папке с изображениями. Возможно ли заблокировать данный параметр для изменения
Даже если он переназначит каталог с изображениями, через какое-то время, она все равне вернется на ту, которая задается через политику.
Либо, если уж очень хочется — заблокировать пользователю запись в ветку реестра HKEY_CURRENT_USER > Software > Microsoft > Windows Photo Viewer > Slideshow > Screensaver (но имхо это уже лишнее)
А можно вас попросить поделиться картинками с правилами ИБ которые вы используете ?
Поделиться, к сожалению, не могу — на слайдах содержится коммерческая инфа.
Могу текстом пару написать, но мне кажется все это легко ищется в интеренете:
1. Блокируйте компьютер, когда покидаете рабочее место (WIN+L)
2. Не сообщайте свой пароль кому бы то ни было и не помещайте его на видно месте на рабочем столе (особенно на монитор)
3. Не запускайте незнакомые файлы и подозрителный вложения
4. О случаях незаконного использования оборудования компании, коррупции сообщайте на горячую линию
и т.д.
Напоминает одну немецкую авто-компанию в VW group входящую 😉
Все совпадения случайны, а текст взят из головы 🙂 Копирайт.
у всех в итоге подключается сетевой диск, зачем это нужно, можно как то без этого скопировать?
Net use s: /delete
В конце скрипта можно отключать сетевой диск командой:
net use s: /delete
Либо можно копировать файлы через групповые политики (Group Policy Preferences)
а зачем копировать?
разве нельзя в качестве пути для картинок указать сетевую папку?
Каждый раз грузить картинки из сетевой папки — не слишком разумно с точки зрения загрузки сети и файл сервера.
«Включите политику Force specific screen saver, в качестве значения укажите PhotoScreensaver.scr. (по умолчанию Photoscreensaver.scr использует в качестве источника изображений для слайдшоу каталог C:\Users\Public\Pictures\Sample Pictures)»
Так ведь ваши файлы согласно скрипту, лежат в другой папке…
Сринсейвер берет файлы из папки C:\Users\Public\Pictures\Sample Pictures по умолчанию. В нашем случае зашифрованный путь к локальной папке с картинками хранится в ветке реестра EncryptedPIDL .
Итого уже 4 места для напоминалок про инфобез: экран логина, десктоп, карусель десктопа и скринсейвер. Бди!)
День добрый.
сори за офтоп,
Подскажите как в СMD выполнять задания по требованию от имени пользователя ?%LogonDomain%\%LogonUser%
Например можно назн. задания для ПК:
SchTasks /RUN /S ИМЯПК /U contoso\admin /P пароль123456 /TN Screensaver
Но задание надо выполнить от заголенного пользователя И есть оно только у него в планировщике.
У contoso\admin скорее всего пусто,
SchTasks /RUN /S ИМЯПК /U %LogonDomain%\%LogonUser% /TN Screensaver
Так? )) Введите пароль для %LogonDomain%\%LogonUser%:
Вам похоже сюда https://winitpro.ru/index.php/2017/06/08/sozdanie-zadaniya-planirovshhika-s-pomoshhyu-powershell/
Либо можно создать задание через пользовательский раздел политик GPP.
Немного не то, задание уже есть/ через GPP или power shell.
Но это задание пользователя а не для локал. ПК.
И предположим надо выполнить его для всех активных пользователей, не дожидаясь расписания.
Для удалённого выполнения задания нужны логин и пароль админа.
Но тогда задания ищутся в Планировщике для ПК.
Если взять задание для пользователя и запустить команду из под админа:
C:\Windows\system32>SchTasks /RUN /S laptop-001 /U contoso\Admin /P passw0rd /TN CopyUserDOCuments
Ошибка. Учетные данные пользователя не разрешены на локальном компьютере.
Такая ошибка.
Задание должно выполнятся из под любого активного пользователя..
Не уверен, что это возможно без каких-то ухищрений. Либо пользователь сам должен запустить задание, либо админ (но он не можете просто так запустить его от пользователя). Тут что-то вроде SCCM нужно или что-то подобное.
а если в батнике просто прописать
xcopy \\srv1\Install\Img\*.* C:\Screen
Не подключая и не отключая сетевой диск?
Можно. Подключать сетевой диск не обязательно. У меня просто в рамках этого скрипта еще действия выполняются.
@echo off
set dir=c:\Screen
If Exist «%dir%» (GoTo COPY ) Else (md «%dir%»)
:COPY
robocopy \\ip_address_servera\папка с картинками\ «%dir%» /z /purge /COPY:DAT /XO /R:150 /W:5 /MT:128
END
Создаем батник с таким текстом, в планировщике время выполнения ставим — ежедневно.
Таким образом ежедневно будет запускаться скрипт robocopy который сверяет картинки в эталонной папке и в случае чего происходит синхронизация.
То есть если вы удалите файл в эталонной папке то он удалится и на всех компьютерах в папке c:\screen. Ну и если добавите файл в эталонную папку, то он добавится и в папку c:\screen на всех компах.
Очень удобно, если часто скрины меняются в организации.
Перейдите к ветке HKEY_CURRENT_USER -> Software -> Microsoft -> Windows Photo Viewer -> Slideshow -> Screensaver.
Не отображается такая ветка, когда в политике пытаешься выбрать.
Какая версия Windows на компьютере, где вы редактируете GPO?
Попробуйте подключиться к другому компьютеру с помощью мастера создания параметра реестра в GPO
На АД-
GPO:
(Конфигурация ПК > Настройки> Кофн. Винды> Реестр. —
новая GPO — с записью реестре :
Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PersonalizationCSP
!!! Создаем раздел PersonalizationCSP (Personalization уже есть, в нем не работает)
В созданом разделе прописываем:
LockScreenImagePath: \\пусть к файлу заставки.jpg я выкинул все на шару на АД.
LockScreenImageStatus: (DWORD32) = 1
LockScreenImageUrl: \\пусть к файлу заставки.jpg я выкинул все на шару на АД.
Назначаем эту GPO на прошедших проверку + все ПК в домене.
Ничего другого мне не помогало.
Добрый день!
А есть ли разница использовать мастер реестра для импорта или можно также через предпочтения просто создать 3 нужных параметра (EncryptedPIDL, Shuffle, Speed) с соответствующими путями и значениями?
Разницы нет, вот тут описано как пользоваться обоими вариантами
https://winitpro.ru/index.php/2016/01/19/nastrojka-klyuchej-reestra-s-pomoshhyu-gruppovyx-politik/
Не отображается ветка WindowsPhotoViewer
Что мне делать?