Если вы управляете большим количеством 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 вы можете вывести на рабочий стол практически любую информацию с компьютера.
А как в рабочей группе запускать утилиту с общим файлом конфигурации, но так, чтобы обои у каждого оставались свои? В файле конфигурации настроенном на родительском компьютере прописан явный путь на обои именно этого родительского (для файла конфигурации) компьютера.
Удалите явный путь.
К IP-адресу добавляем фильтр SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True
К ОС добавляем разрядность Select AddressWidth from Win32_Processor
И емейлы не кликабельны, я бы не стал вводить пользователя в искушение.
Добрый день! «cmd.exe не поддерживает пути unc. по умолчанию выбрана системная папка windows».
Сообщение при выводе строки %logonserver%\NETLOGON\Bginfo\Bginfo.exe %logonserver%\NETLOGON\Bginfo\bg_config.bgi /silent /TIMER:00 /nolicprompt Как можно исправить?
Интереснее использоваться софтину DesktopInfo. Также гибко настраивается и обновляет выводимые данные в реальном времени.
Добрый день! Можно ли будет вывести данный фон рабочего с информацией о пк на экран блокировки windows 10 до входа в систему ?
В теории — да, вам нужно. BGinfo содает файл изображения и сохраняет его в C:\users\username\appdata\local\temp\BGInfo.BMP.
Вам нужно logon скриптом вытащить этот файл, сохранить его кудато на диске в другой каталог и задачь через GPO в качестве изображения экрана блокировки
Computer Configuration\Administrative Templates\Control Panel\Personalization\Force a specific default lock screen image
Добрый день!
В первый раз столкнулся с WSUS. Задача стоит установить пользователям kb447419.msu
Дело в том, что WSUS на сервере — в локальной сети.
+ есть пк, которые не отображаются в WSUS
Нужно разобраться со WSUS, его политиками,, проапрувить обновление и дождаься установки.
Если компьютеры не отображаются во wsus, смотрите настройки политик wsus, файерфолов. Нюансов очень много.
Начинайте с:
https://winitpro.ru/index.php/2013/04/11/ustanovka-wsus-na-windows-server-2012/
https://winitpro.ru/index.php/2014/01/22/nastrojka-gruppovyx-politik-wsus/
https://winitpro.ru/index.php/2019/02/08/odobrenie-obnovlenij-wsus-windows-server/
Решил развернуть такую штуку в организации. В первые пару часов получил кучу недовольных пользователей, у которых вместо заставки черный фон с информацией итд. В общем, работает это лишь в том случае, если пользователи не ставят на рабочий стол любимых собачек из ватсапа в шакальном качестве. Статья мне понравилась, узнал кое-что новое, но захотел предупредить остальных о возможных последствиях))
P.S. нашел в статье ошибку — папку «bginfo» нужно создавать не в самом SYSVOL, а в SYSVOL\domain\scripts, тогда корректно отработает логон скрипт, так как в нем указан путь %logonserver%\NETLOGON\bginfo\, а NETLOGON — это имя расшаренной SYSVOL\domain\scripts.