Если вы управляете большим количеством Windows серверов или рабочих станций, бывает очень полезно вывести базовую информацию о системе и окружении прямо на рабочий стол Windows. Это будет особенно удобно вашим пользователям, которым чтобы сообщить техопддержке свой IP или MAC адрес, имя компьютера или домена, версию Windows, количество памяти или тип CPU, и т.д., достаточно посмотреть на рабочий стол. Для вывода информации об операционной системе поверх рабочего стола мы будем использовать утилиту BgInfo от Microsoft.
Утилита Bginfo позволяет наложить текстовую информацию поверх изображения обоев рабочего стола пользователя и подменить используемый файл обоев.
Формируем выводимый текст рабочего стола в Bginfo
Сначала вам нужно сформировать шаблон, который будет использоваться Bginfo для вывода информации на рабочий стол Windows.
- Скачайте утилиту Bginfo (https://docs.microsoft.com/en-us/sysinternals/downloads/bginfo) и запустите исполняемый файл bginfo.exe;
- Появится окно стандартной конфигурации Bginfo, в котором выводится список системной информации, которую по-умолчанию выводит утилита;
- Окно Bginfo представляет собой простой текстовый редактор, в котором можно добавить, удалить или отредактировать любое из выводимых значений, изменить цвет или размер шрифта, расположение данных на экране, добавить ваше лого и т.д.;
- Значения переменных, которые Bginfo получает из операционной системы указаны в формате
<Host name>
; - Я сформировал следующий шаблон, который выводит базовую информацию о компьютере и добавил контакты тех поддержки:
HelpDesk Info:
Computer Name: <Host Name>
Domain: <Machine Domain>
Logon DC: <Logon Server>
OS Version: <OS Version>
User Name: <User Name>
IP Address: <IP Address>
Default Gateway: <Default Gateway>
MAC Address: <MAC Address>
System Info:
Boot Time: <Boot Time>
CPU: <CPU>
Memory: <Memory>
System Type: <System Type>
___________________________________
HelpDesk: +7 (495) 555-44-33
[email protected]
CRM Support: +7 (495) 222-44-11
[email protected] - Сохраните данную конфигурацию в файл bg_config.bgi
Применить настройки Bginfo на компьютеры (сервера) домена через GPO
Теперь нужно создать групповую политику, которая будет применять конфигурационный файл Bginfo ко всем компьютерам и сервера домена.
Создайте на котроллере домена в каталоге SYSVOL папку Bginfo и скопируйте в него файлы bg_config.bgi и Bginfo.exe.
Создайте в этом же каталоге bat скрипт apply_bginfo.bat для применения настроек Bginfo к компьютеру:
reg add HKEY_CURRENT_USER\Software\Sysinternals\BGInfo /v EulaAccepted /t REG_DWORD /d 1 /f
%logonserver%\NETLOGON\Bginfo\Bginfo.exe %logonserver%\NETLOGON\Bginfo\bg_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.loc\NETLOGON\Bginfo\apply_bginfo.bat
); - Включите режим замыкания GPO, чтобы политика применялась для пользователей: Computer Configuration –> Administrative Templates -> System -> Group Policy -> Configure user Group Policy loopback processing mode = Enabled (Merge);
- Чтобы обновились политики, перезайдите на компьютер под пользователем и проверьте, что у него на рабочем столе теперь отображается системная информация, которую вы настроили.
Утилита BGInfo копирует фон рабочего стола в папку
%Temp%
пользователя в файл BGInfo.bmp и накладывает на него текст. Данный файл затем задается в качестве обоев рабочего стола. Однако, будьте внимательными, если вы задаете обои рабочего стола пользователям отдельной политикой. Политика с настройками Bginfo должна применяться после политики wallpaper. Измените порядок применения политик, если нужно.
Вывод дополнительных полей в Bginfo через WMI или VBS скрипты
Bginfo позволяет выводить не только предустановленные параметры, но и любые параметры компьютера, программ или AD с помощью WMI запросов или VBS скриптов.
Для добавления собственных значений в Bginfo нужно нажать на кнопку Custom -> New.
Утилита позволяет вывести:
- Значение переменной окружения;
- Значение параметра реестра;
- Результаты WMI запроса;
- Версию файла;
- Содержимое файла;
- Выполнить VBS скрипт.
В Bginfo даже есть встроенный WMI Explorer. Например, следующий WMI запрос позволит вывести на рабочий стол билд операционной системы (особо актуально для Windows 10):
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 вы можете вывести на рабочий стол практически любую информацию с компьютера.