Я знаю, что это старая протекция, а Windows 7 быстро устаревает. Но для случайных пользователей: Я занимался этим годами в моем магазине. Я достаточно близок к ИТ-отделам, чтобы иметь определенные привилегии на своем ноутбуке, но не настолько близок, чтобы остановиться затем, делая дурацкие GPO, которые - конечно же - влияют и на меня.
В XP я уверен, что в Windows 7 это просто вдохновение: Такие изменения в реестре будут not действовать до тех пор, пока вы не перезагрузите систему! А поскольку вы пытаетесь обойти GPO, то во многих ситуациях это равносильно “невозможной миссии”. Есть, однако, способ force обновления реестра, которое будет применяться без перезагрузки….
Дело в том, что вам не нужно перезагружаться - вам нужно промыть кеш настройки реестра - это часть reboot.
Решение (по крайней мере, на XP):
@echo off
call :quiet>nul 2>&1
goto :EOF
:quiet
:: Configure Wallpaper (command prompt method works only with bmp files)
REG ADD "HKEY_CURRENT_USER\Control Panel\Desktop" /V Wallpaper /T REG_SZ /F /D "C:\WINDOWS\Web\Wallpaper1.bmp"
REG ADD "HKCU\Control Panel\Desktop" /V WallpaperStyle /T REG_SZ /F /D 0
REG ADD "HKCU\Control Panel\Desktop" /V TileWallpaper /T REG_SZ /F /D 1
:: Make the changes effective immediately (only XP-compatible)
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters
Это хорошо работает (сработало) на моей XP машине, трюк - последняя строчка: Выполните “user32.dll,UpdatePerUserSystemParameters” как часть bat-файла. Это произойдёт вместо “перезагрузки”. :-)
Я поместил это в папку Start и добавил комбинацию клавиш в bat-файл: Таким образом, мой ПК начал с моих собственных обоев, и когда GPO обновляется пару раз в течение дня, я нажимаю на клавишу быстрого доступа и возвращаю предпочитаемый вид (Который бесконечно красивее, чем “черный экран депрессии”, который является акциями компании) ;-)
У меня пока нет возможности исправить это на моем новом ноутбуке (с запущенным Win 7), но я думаю, что кто-то там может вдохновиться этим (XP) поведением и дальнейшими исследованиями.