При управлении большим количеством серверов и рабочих станций, удобно, когда на рабочем столе системы показывается базовая информация о компьютере. Например, имя компьютера, имя домена, IP и MAC адрес, версия Windows, тип CPU, количество RAM, свободное место, контакты техподдержки и т.д. С помощью утилиты BgInfo от Microsoft можно получить любую системную информацию и вывести ее на рабочий стол поверх обоев.
Подготовка шаблона текста рабочего стола в Bginfo
Сначала вам нужно сформировать шаблон, который будет использоваться Bginfo для вывода информации на рабочий стол Windows.
- Скачайте утилиту Bginfo (https://docs.microsoft.com/en-us/sysinternals/downloads/bginfo) и запустите исполняемый файл bginfo.exe;
- В окне конфигуратора Bginfo нужно настроить информацию, которую вы хотите показывать на рабочем столе пользователя.
- Окно Bginfo представляет собой простой текстовый редактор, в котором можно добавить, удалить или отредактировать любое из выводимых значений, изменить цвет или размер шрифта, расположение данных на экране, добавить ваше лого и т.д.;
- Список доступных системных значений, которые Bginfo может получить из операционной системы содержится в правом списке Fileds. Динамические переменные, значения которых должны быть получены из системы, указываются в угловых скобках. Например,
<Host name>; - Я подготовил простой шаблон с базовой информацией о компьютере, добавил лого компании и контакты техподдержки:
Systeminfo:
Host Name:
Logon Domain:
User Name:
OS Version:Boot Time:
IP Address:
MAC Address:
CPU:
Memory:
Free Space:
___________________________________
LOGO IMG
HelpDesk: +7 (495) 555-44-33
helpdesk@company.com - Чтобы понять, как будет выглядеть информация из Bginfo на рабочем столе, нажмите кнопку Preview.

- Сохраните данную конфигурацию в файл bg_config.bgi
Применить настройки Bginfo к компьютерам через GPO
С помощью групповых политик можно применить конфигурационный файл Bginfo ко всем компьютерам в домене Active Directory.
Создайте на котроллере домена в каталоге NETLOGON ( C:WINDOWSSYSVOLsysvolwinitpro.localSCRIPTS ) папку Bginfo и скопируйте в него файлы bg_config.bgi и Bginfo.exe.
Создайте в этом же каталоге bat скрипт apply_bginfo.bat для применения настроек Bginfo к компьютеру:
reg add HKEY_CURRENT_USERSoftwareSysinternalsBGInfo /v EulaAccepted /t REG_DWORD /d 1 /f
%logonserver%NETLOGONBginfoBginfo.exe %logonserver%NETLOGONBginfobg_config.bgi /silent /TIMER:00 /nolicprompt

- Откройте редактор доменных GPO (gpmc.msc), создайте новую политику bgInfoGPO и назначьте ее на нужные OU;

- Отредактируйте GPO;
- Перейдите в GPO раздел User Configuration -> Policies -> Windows Settings -> Scripts (Logon/Logoff) -> Logon -> Scripts -> Add и укажите UNC путь к вашему скрипту (например,
\resource.locNETLOGONBginfoapply_bginfo.bat);
- Включите режим замыкания GPO, чтобы политика применялась для пользователей если вы назначили ее на OU с компьютерами: Computer Configuration –> Administrative Templates -> System -> Group Policy -> Configure user Group Policy loopback processing mode = Enabled (Merge);

- Чтобы обновить настройки групповой политики на клиенте, перезайдите на компьютер под пользователем. Проверьте что на рабочем столе теперь отображается системная информация, которую вы настроили.

Утилита BGInfo копирует фон рабочего стола в %Temp%BGInfo.bmp и накладывает на него текст. Затем этот файл устанавливается в качестве обоев рабочего стола. Если вы задаете обои рабочего стола пользователям отдельной политикой, убедитесь что политика с настройками Bginfo применяться после вашей политики wallpaper. Измените порядок применения политик, если нужно.
Вывод системной информации через скрипты в Bginfo
В Bginfo есть набор предустановленных переменных, значения которых можно вывести на рабочий стол. Если вы хотите вывести какую-то другую информацию о системе, можено получить произвольные данные с компьютера с помощью WMI запроса, напрямую из реестра или из VBS скрипта.
Для добавления собственных значений в Bginfo нужно нажать на кнопку Custom -> New.

Утилита позволяет вывести:
- Значение переменной окружения;
- Значение параметра реестра;
- Результаты WMI запроса;
- Версию файла;
- Содержимое файла;
- Выполнить VBS скрипт.
Например, следующий WMI запрос позволит вывести на рабочий стол билд операционной системы (особо актуально для Windows 10 и 11):
SELECT BuildNumber FROM Win32_OperatingSystem

Следующий VBS скрипт можно использовать для вывода на рабочий стол информацию о модели компьютера:
winmgt = "winmgmts:{impersonationLevel=impersonate}!//"
Set oWMI_Qeury_Result = GetObject(winmgt).InstancesOf("Win32_ComputerSystem")
For Each oItem In oWMI_Qeury_Result
Set oComputer = oItem
Next
If IsNull(oComputer.Model) Then
sComputerModel = "*no-name* model"
Else
If LCase(oComputer.Model) = "system product name" Then
sComputerModel = "Custom-built PC"
Else
sComputerModel = oComputer.Model
End If
End If
sComputer = Trim(sComputerModel)
Echo sComputer

Обратите внимание, что значение которое вы хотите увидеть в Bginfo скрипт vbs должен возвращать через Echo .
Bginfo напрямую не позволяет использовать команды или скрипты PowerShell для получения информации. Поэтому если вы хотите вывести в Bginfo информацию, полученную с помощью PowerShell, придется создать обертку в виде кода VBScript. Например, следующий VBS файл выполнит PowerShell команду, которая получит дату последней установки обновлений в Windows.
On Error Resume Next
Set objShell = CreateObject("Wscript.Shell")
Status = objShell.Exec("powershell.exe -Command (Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 1).InstalledOn").StdOut.ReadAll()
echo Status

Вывести системную информацию на экран блокировки Windows
Чтобы применить текущий фоновый рисунок рабочего стола к экрану блокировки Windows, можно запустить такой VBS скрипт через Bginfo.
Set objShell = CreateObject("WScript.Shell")
strTempPath = objShell.ExpandEnvironmentStrings("%TEMP%")
strImagePath = strTempPath & "BGInfo.bmp"
objShell.Run "REG ADD ""HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsPersonalization"" /V ""LockScreenImage"" /T REG_SZ /D """ & strImagePath & """ /F", 0, True
objShell.Run "REG ADD ""HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPersonalizationCSP"" /V ""LockScreenImageStatus"" /T REG_DWORD /D ""00000001"" /F", 0, True
objShell.Run "REG ADD ""HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPersonalizationCSP"" /V ""LockScreenImagePath"" /T REG_SZ /D """ & strImagePath & """ /F", 0, True
objShell.Run "REG ADD ""HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPersonalizationCSP"" /V ""LockScreenImageUrl"" /T REG_SZ /D """ & strImagePath & """ /F", 0, True
Теперь вся необходимая системная информация будет отображаться даже на экране входа/блокировки компьютера. Таким образом, с помощью bginfo вы можете вывести на рабочий стол практически любую информацию о компьютере.

Добавить комментарий