Показать полную графическую версию : установить обои рабочего стола для всех машин в домене через политики?
God-of-Chaos
01-09-2009, 14:42
как через груповые политики установить можно на все компы в домене один рисунок?
God-of-Chaos, можете поступить так:
На сервере открыть "Редактор GPO инициирующей прграммы групповой политики", где выбираете в своем домене "Новый начальный объект групповой политики". Далее переходите в "Конфигурация пользователя" > "Административные шаблоны" > "Рабочий стол" > "Рабочий стол". Находите политику "Фоновые рисунки рабочего стола". Выбираете необходимый для вас рисунок и стиль фонового рисунка. После следующего логона у всех пользователей должены быть одинаковые обои.
Уточнение.
Обои должны находится на сервере в расшаренной папке, доступ к папке должны иметь "Прошедшие проверку" на чтение. И соотсвественно, путь в политике выбирать через сеть, т.е. должен быть вида \\server\shared\walpapers\my.bmp
Такого типа VBS скрипт отрабатывает у меня и ставит обои нужного разрешения:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * From Win32_DisplayConfiguration")
For Each objItem in colItems
dim wshShell
dim sUserName'
' --------- FOR 1920 x 1200 -------------
If objItem.PelsWidth="1920" AND objItem.PelsHeight="1200" then
Set wshShell = WScript.CreateObject("WScript.Shell")
sUserName = wshShell.ExpandEnvironmentStrings("%USERNAME%")
Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
sWinDir = oFSO.GetSpecialFolder(0)
sWallPaper = "\\hyper\GP Soft\Wallpapers\New\logo_CMSO_1920-1200.bmp"
oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", sWallPaper
oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True
END IF
' --------- FOR 1280 x 1024 -------------
If objItem.PelsWidth="1280" AND objItem.PelsHeight="1024" then
Set wshShell = WScript.CreateObject("WScript.Shell")
sUserName = wshShell.ExpandEnvironmentStrings("%USERNAME%")
Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
sWinDir = oFSO.GetSpecialFolder(0)
sWallPaper = "\\hyper\GP Soft\Wallpapers\New\logo_CMSO_1280-1024.bmp"
oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", sWallPaper
oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True
END IF
' --------- FOR 1280 x 800 -------------
If objItem.PelsWidth="1280" AND objItem.PelsHeight="800" then
Set wshShell = WScript.CreateObject("WScript.Shell")
sUserName = wshShell.ExpandEnvironmentStrings("%USERNAME%")
Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
sWinDir = oFSO.GetSpecialFolder(0)
sWallPaper = "\\hyper\GP Soft\Wallpapers\New\logo_CMSO_1280-800.bmp"
oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", sWallPaper
oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True
END IF
' --------- FOR 1024 x 768 -------------
If objItem.PelsWidth="1024" AND objItem.PelsHeight="768" then
Set wshShell = WScript.CreateObject("WScript.Shell")
sUserName = wshShell.ExpandEnvironmentStrings("%USERNAME%")
Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
sWinDir = oFSO.GetSpecialFolder(0)
sWallPaper = "\\hyper\GP Soft\Wallpapers\NEW\logo_CMSO_1024-768.bmp"
oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", sWallPaper
oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True
END IF
' --------- FOR 800 x 600 -------------
If objItem.PelsWidth="800" AND objItem.PelsHeight="600" then
Set wshShell = WScript.CreateObject("WScript.Shell")
sUserName = wshShell.ExpandEnvironmentStrings("%USERNAME%")
Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
sWinDir = oFSO.GetSpecialFolder(0)
sWallPaper = "\\hyper\GP Soft\Wallpapers\Main\logo_CMSO_1280-1024.bmp"
oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", sWallPaper
oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True
END IF
' --------- FOR 1400 x 1050 -------------
If objItem.PelsWidth="1400" AND objItem.PelsHeight="1050" then
Set wshShell = WScript.CreateObject("WScript.Shell")
sUserName = wshShell.ExpandEnvironmentStrings("%USERNAME%")
Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
sWinDir = oFSO.GetSpecialFolder(0)
sWallPaper = "\\hyper\GP Soft\Wallpapers\Main\logo_CMSO_1680-1050.bmp"
oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", sWallPaper
oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True
END IF
' --------- FOR 1680 x 1050 -------------
If objItem.PelsWidth="1680" AND objItem.PelsHeight="1050" then
Set wshShell = WScript.CreateObject("WScript.Shell")
sUserName = wshShell.ExpandEnvironmentStrings("%USERNAME%")
Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
sWinDir = oFSO.GetSpecialFolder(0)
sWallPaper = "\\hyper\GP Soft\Wallpapers\New\logo_CMSO_1680-1050.bmp"
oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", sWallPaper
oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True
END IF
Next
Доброго дня, а как настроить обои рабочего стола в 2008 R2? не могу никак найти в персонализации...
ппц...
два пути:
1 - правый клик на картинке - set as desktop background.
2 - кидаем картинки в C:\Windows\Web\Wallpaper\Windows. После этого их можно выбирать в персонализации.
Привет! Скрипт сам по себе работает, но при моих 1680*1050 отрабатывает мне установку волпапера 1024*768
и где грабли понять не могу...
у меня тоже ставит 1024*768
кто подскажет как заставить скрипт выбирать разрешение?
нужно что бы работало на ХР и W7
James Marsh
01-07-2013, 16:06
Держите рабочий конструктор
vbs, вызывать через cmd
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * From Win32_DesktopMonitor")
For Each objItem in colItems
filename = "%ТУТ ПИШЕМ ГДЕ ЛЕЖАТ ФАЙЛЫ С ОБОЯМИ%" & objItem.ScreenWidth & "_" & objItem.ScreenHeight & ".bmp"
'msgbox (filename)
Set wshShell = WScript.CreateObject("WScript.Shell")
Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
sWinDir = oFSO.GetSpecialFolder(0)
If oFSO.FileExists(filename) Then
'sWallPaper = filename
oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", filename
oShell.RegWrite "HKCU\Control Panel\Desktop\TileWallpaper", 1
oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True
Else
msgbox ("Скажите системному администратору что файл " & filename & " отсутствует!")
End If
If objItem.ScreenHeight >0 Then
Exit For
End If
Next
Ну и плюс надо "нафотошопить" обои под те разрешения мониторов, которые у вас есть. С именами файлов 800_600.bmp, 1024_768.bmp...
sergsplinter
06-03-2014, 00:05
vbs, вызывать через cmd »
Прошу извинения, не силён в скриптах, но как понять: vbs, вызывать через cmd, хотя знаю что такое vbs и cmd??
James Marsh
06-03-2014, 22:49
Цитата sergsplinter:
vbs, вызывать через cmd »
CScript \\%сетевая_шара%\wallpaper.vbs /NologoСохранить как cmd и запихнуть в групповую политику.
ПыСы В терминальных сессиях server 2008r2 / 2012 / 2012r2 вся конструкция пишет "Скажите системному администратору что файл _.bmp отсутствует!". Так и не разобрался чего.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.