Вывод информации о компьютере на рабочий стол (BgInfo)

При управлении большим количеством серверов и рабочих станций, удобно, когда на рабочем столе системы показывается базовая информация о компьютере. Например, имя компьютера, имя домена, IP и MAC адрес, версия Windows, тип CPU, количество RAM, свободное место, контакты техподдержки и т.д. С помощью утилиты BgInfo от Microsoft можно получить любую системную информацию и вывести ее на рабочий стол поверх обоев.

Подготовка шаблона текста рабочего стола в Bginfo

Сначала вам нужно сформировать шаблон, который будет использоваться Bginfo для вывода информации на рабочий стол Windows.

  1. Скачайте утилиту Bginfo (https://docs.microsoft.com/en-us/sysinternals/downloads/bginfo) и запустите исполняемый файл bginfo.exe;
  2. В окне конфигуратора Bginfo нужно настроить информацию, которую вы хотите показывать на рабочем столе пользователя.
  3. Окно Bginfo представляет собой простой текстовый редактор, в котором можно добавить, удалить или отредактировать любое из выводимых значений, изменить цвет или размер шрифта, расположение данных на экране, добавить ваше лого и т.д.;
  4. Список доступных системных значений, которые Bginfo может получить из операционной системы содержится в правом списке Fileds. Динамические переменные, значения которых должны быть получены из системы, указываются в угловых скобках. Например, <Host name> ;
  5. Я подготовил простой шаблон с базовой информацией о компьютере, добавил лого компании и контакты техподдержки:
    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
    [email protected]
  6. Чтобы понять, как будет выглядеть информация из Bginfo на рабочем столе, нажмите кнопку Preview.Шаблон bginfo с текстом рабочего стола
  7. Сохраните данную конфигурацию в файл bg_config.bgi

Применить настройки Bginfo к компьютерам через GPO

С помощью групповых политик можно применить конфигурационный файл Bginfo ко всем компьютерам в домене Active Directory.

Создайте на котроллере домена в каталоге NETLOGON ( C:\WINDOWS\SYSVOL\sysvol\winitpro.local\SCRIPTS ) папку 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

bat скрипт для применения настроек bginfo на компьютере

  1. Откройте редактор доменных GPO (gpmc.msc), создайте новую политику bgInfoGPO и назначьте ее на нужные OU; применение bginfo через GPO
  2. Отредактируйте GPO;
  3. Перейдите в GPO раздел User Configuration -> Policies -> Windows Settings -> Scripts (Logon/Logoff) -> Logon -> Scripts -> Add и укажите UNC путь к вашему скрипту (например, \\resource.loc\NETLOGON\Bginfo\apply_bginfo.bat ); запуск логон скрипта bginfo
  4. Включите режим замыкания GPO, чтобы политика применялась для пользователей если вы назначили ее на OU с компьютерами: Computer Configuration –> Administrative Templates -> System -> Group Policy -> Configure user Group Policy loopback processing mode = Enabled (Merge); Configure user Group Policy loopback processing mode
  5. Чтобы обновить настройки групповой политики на клиенте, перезайдите на компьютер под пользователем. Проверьте что на рабочем столе теперь отображается системная информация, которую вы настроили. Вывести системную информацию о компьютере на рабочий стол с помощью утилиты bginfo

Утилита BGInfo копирует фон рабочего стола в %Temp%\BGInfo.bmp и накладывает на него текст. Затем этот файл устанавливается в качестве обоев рабочего стола. Если вы задаете обои рабочего стола пользователям отдельной политикой, убедитесь что политика с настройками Bginfo применяться после вашей политики wallpaper. Измените порядок применения политик, если нужно.

Если настройки групповой политики не применились на клиенте, для диагностики воспользуйтесь утилитой gpresult или советами из статьи.

Вывод системной информации через скрипты в Bginfo

В Bginfo есть набор предустановленных переменных, значения которых можно вывести на рабочий стол. Если вы хотите вывести какую-то другую информацию о системе, можено получить произвольные данные с компьютера с помощью WMI запроса, напрямую из реестра или из VBS скрипта.

Для добавления собственных значений в Bginfo нужно нажать на кнопку Custom -> New.

добавить собственное поле в bginfo

Утилита позволяет вывести:

  • Значение переменной окружения;
  • Значение параметра реестра;
  • Результаты WMI запроса;
  • Версию файла;
  • Содержимое файла;
  • Выполнить VBS скрипт.

Например, следующий WMI запрос позволит вывести на рабочий стол билд операционной системы (особо актуально для Windows 10 и 11):

SELECT BuildNumber FROM Win32_OperatingSystem

wmi запросы в bginfo

Следующий 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

вывод информации на рабочий стол через vbs скрипт bginfo

Обратите внимание, что значение которое вы хотите увидеть в 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

Bginfo получить информацию из powershell скрипта

Вывести системную информацию на экран блокировки Windows

Чтобы применить текущий фоновый рисунок рабочего стола к экрану блокировки Windows, можно запустить такой VBS скрипт через Bginfo.

Set objShell = CreateObject("WScript.Shell")
strTempPath = objShell.ExpandEnvironmentStrings("%TEMP%")
strImagePath = strTempPath & "\BGInfo.bmp"
objShell.Run "REG ADD ""HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Personalization"" /V ""LockScreenImage"" /T REG_SZ /D """ & strImagePath & """ /F", 0, True
objShell.Run "REG ADD ""HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PersonalizationCSP"" /V ""LockScreenImageStatus"" /T REG_DWORD /D ""00000001"" /F", 0, True
objShell.Run "REG ADD ""HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PersonalizationCSP"" /V ""LockScreenImagePath"" /T REG_SZ /D """ & strImagePath & """ /F", 0, True
objShell.Run "REG ADD ""HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PersonalizationCSP"" /V ""LockScreenImageUrl"" /T REG_SZ /D """ & strImagePath & """ /F", 0, True

Вывести системную информацию на экране блокировки Windows

Теперь вся необходимая системная информация будет отображаться даже на экране входа/блокировки компьютера. Таким образом, с помощью bginfo вы можете вывести на рабочий стол практически любую информацию о компьютере.


Предыдущая статья Следующая статья


Комментариев: 26 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)