Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 14
Благодарности: 1

Профиль | Отправить PM | Цитировать


Задача решена, но частично.

Пока нет решения по всем выше описанным операциям, но есть скрипт, который отрабатывает за исключением нескольких пунктов.

В моем варианте, заранее подготовленные обои лежат в \\domain.local\sysvol\domain.local\Wallpapers\
В формате Corp1024x768.bmp; Corp1366x768.bmp

Сам скрипт запускается через GPO, на уровне пользователя.

Wallpaper.vbs
читать дальше »

Код: Выделить весь код
strComputer = "."

 Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

 Set colItems = objWMIService.ExecQuery _
 ("Select * From Win32_DesktopMonitor")

 For Each objItem in colItems
 
 dim wshShell
 
 sWallPaper = "\\domain.local\SYSVOL\domain.local\Wallpapers\Corp" _
 & objItem.ScreenWidth & "x" & objItem.ScreenHeight & ".bmp"
 
 'msgbox (sWallPaper)

 Set wshShell = WScript.CreateObject("WScript.Shell")

 Set oShell = CreateObject("WScript.Shell")

 Set oFSO = CreateObject("Scripting.FileSystemObject")

 WinDir = oFSO.GetSpecialFolder(0)

 If oFSO.FileExists(sWallPaper) Then

 oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", sWallPaper
 oShell.RegWrite "HKCU\Control Panel\Desktop\TileWallpaper", 0

 oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True
 Else
 
 msgbox ("Сообщите системному администратору, об нестандартном разрешение экрана: " _
 & objItem.ScreenWidth & "x" & objItem.ScreenHeight)

 End If

 If objItem.ScreenHeight >0 Then
 Exit For
 End If 
 Next

Отправлено: 18:24, 15-07-2014 | #3