Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 7 (http://forum.oszone.net/forumdisplay.php?f=95)
-   -   Настройка персонализации через групповые политики. (http://forum.oszone.net/showthread.php?t=255460)

RESTORER 04-03-2013 11:39 2103822

Настройка персонализации через групповые политики.
 
Добрый день! Появилась потребность настройки персонализации через групповые политики на парочку пользователей в домене.
Всё делал как показано здесь: http://www.oszone.net/14551/tip-of-the-week-6
Службы на компе включены по умолчанию, особенно диспетчер окон рабочего стола и служба тем.

Все политики применились кроме одной - Загрузить указанную тему. Вместо неё он загружает обычный классический вид и даже применяет стандартные звуки, указатели мыши и тд. Вобщем созданную мной тему не загружает вообще. Пробовал я ложить эту тему в общую сетевую папку с полным доступ, и локально на какойнить диск, и даже как показано в инструкции %Userprofile%\AppData\Roaming\Microsoft\Windows\Themes\ , но тема не применяется ни на одном из компов. Пробовал даже создавать нового пользователя так как есть мнение что тема применяется только при первом запуске, но и это не помогло. Все остальные запреты на изменения чего либо работают нормально. Так-же как вариант пробовал отключать остальные правила и оставлять включенным только "Загрузить указанную тему" - ничего не изменилось.

К файлу с темой он точно имеет доступ, особенно когда он копируется в "%Userprofile%\AppData\Roaming\Microsoft\Windows\Themes\". Если при отключенных правилах запускать файл темы вручную из любого места, он применяется нормально. Скажите пожалуйста в чём может быть причина? Спасибо!

sch48 20-03-2019 12:15 2864215

Может кому пригодится, но статья по ссылке полный отстой.

1. Когда сохраняешь темы, то они сохраняются не в Roaming, а в Local ("%Userprofile%\AppData\Roaming Local)
2. Пути через }|{ony, коли используешь переменные среды, то правильней и короче писать %LocalAppData%\Microsoft\Windows\Themes\, именно туда сохраняются темы при их изменении и сохранении.
3. <Имя>.themepack - это упакованная тема и она не применяется в политике, а только по нажатию на неё в проводнике она распаковывается в %LocalAppData%\Microsoft\Windows\Themes\<имя>
4. В политике Загрузить указанную тему нужно указывать файл темы уже распакованной, <имя>.theme (!не .themepack!)

А самое обидное, что это применяется только для вновь вошедшего пользователя на компьютер, об этом и в описании политики написано, то есть при создании профиля, но если профиль уже существует, то ничего не произойдёт.


Обобщение сказанного выше:

1. Понимаем, что Тему политикой можно назначить только для нового пользователя.

2. Предварительно делаете свою тему или распаковываете уже готовый themepack двойным щелчком на нём.
Настраиваете тему и сохраняете правой кнопкой на ней в оснастке Персонализации.

3. Забираем файлы %LocalAppData%\Microsoft\Windows\Themes\<имя> и кладём их куда-нибудь в сеть для распространения, например в \\server\share

4. В доменной политике делаем распростренение этих файлов из сетевой папки \\server\share в %LocalAppData%\Microsoft\Windows\Themes\<имя>
(хотите cmd файлом, хотите скриптом, хотите с помощью Конфигурация пользователя -> Настройка -> Файлы.

5. В политике Конфигурация пользователя\Административные шаблоны\Панель управления\Персонализация:
а) Указываем Загрузить указанную тему и путь до темы %LocalAppData%\Microsoft\Windows\Themes\<имя>\<имя>.theme
б) если не хотим чтобы тему сменили, то Запрет изменения темы


Задачка:
Сменить тему уже работающему на компьютере пользователю?
Есть в реестре ветка HKCU\Software\Microsoft\Windows\CurrentVersion\Themes
Основной параметр [CurrentTheme] REG_SZ, при смене темы параметр меняется на %LocalAppData%\Microsoft\Windows\Themes\<имя>\<имя>.theme
Параметры реестра также можно установить политикой, но как ни бился - не работает, при установке параметра ничего не меняется, тема не переключается :-(

-=SCH=-

sch48 20-03-2019 14:17 2864260

Нашёл способ на http://forum.ixbt.com/topic.cgi?id=22:83925

В Сценарий входа в политике пишем скрипт:

Код:

Set wshShell = WScript.CreateObject ("WSCript.shell")
Set WshShell = CreateObject("WScript.Shell")
wshshell.Run "rundll32.exe %SystemRoot%\system32\shell32.dll,Control_RunDLL %SystemRoot%\system32\desk.cpl desk,@Themes /Action:OpenTheme /file:""%LocalAppData%\Microsoft\Windows\Themes\<имя>.theme""",0, True
WScript.Sleep(600)
wshshell.SendKeys ("%{F4}")
Set wshshell = Nothing

Всплывающее окошко при загрузке не особо заметно, но главное что тема устанавливается! Если кто найдёт более удобный способ, то очень буду признателен.
Путь до темы может быть абсолютно любой, но раз уж они сохраняются по указанному, то оставлю как есть.

Рад, если кому-то это поможет!
Ведь одно дело поменять обои и совершенно другое - тему, где есть несколько обоев и они меняются по времени, согласитесь - это приятнее.

-=SCH=-

SlavaPs 28-10-2020 09:53 2937851

Если кому понадобится, то вот аналогичная команда для windows 10

C:\WINDOWS\system32\rundll32.exe C:\WINDOWS\system32\themecpl.dll,OpenThemeAction %LocalAppData%\Microsoft\Windows\Themes\yourtheme.theme


Время: 10:36.

Время: 10:36.
© OSzone.net 2001-