简介
很多的IT管理员都希望终端操作用户达到一个计算机脱盲的水平,但是理想很丰满,现实很骨感。人生不如事十之八九。
终端用户真的一言难尽。
简单的帮我们看一下CPU,内存,IP地址,这些基础信息,他们做不到。
好在微软发布了bginfo这个软件,BgInfo - Sysinternals | Microsoft Learn
你曾多少次进入办公室中的系统,需要单击多个诊断窗口来提醒自己系统配置的重要内容,例如系统的名称、IP 地址或操作系统版本? 如果你管理多台计算机,可能需要 BGInfo。 它会自动在桌面背景上显示有关 Windows 计算机的相关信息,例如计算机名称、IP 地址、Service Pack 版本等。 你可以编辑任何字段以及字体和背景色,将其放在启动文件夹中,这样每次启动都会运行,甚至可以将其配置为显示在登录屏幕的背景中。
由于 BGInfo 编写新的桌面位图后即退出,因此无需担心它会消耗系统资源或干扰其他应用程序。
本文尝试使用域控发布启动脚本来实现统一信息显示桌面功能
简单配置
就这界面,左边随便删除,右边选择了可以add,排版字体,大小,都很明显。
apply,就看到效果了。
点击File→Save as(另存为配置文件),配置文件后缀为*.bgi,使用命令行参数来启动指定的配置文件。
可以做成批处理放启动项里面,也就是域控统一部署的基础。
参数 | 说明 |
---|---|
<path> | 指定要用于当前会话的配置文件的名称。 按“确定”或“应用”时,会自动将配置更改保存回文件。 如果此参数不存在,BGInfo 将使用当前用户下存储在注册表中的默认配置信息(“HKEY_CURRENT_USER\Software\Winternals\BGInfo”)。 |
/timer | 指定倒计时计时器的超时值(以秒为单位)。 指定零将更新显示,而不显示配置对话框。 指定 300 秒或更长时间将完全禁用计时器。 |
/popup | 使 BGInfo 在不更新桌面的情况下创建一个包含配置信息的弹出窗口。 信息的格式与在桌面上显示时完全相同,但位于适合屏幕大小的窗口中。 使用此选项时,不会更新历史记录数据库。 |
/Silent | 禁止显示错误消息。 |
/taskbar | 使 BGInfo 在不更新桌面的情况下将图标放置在任务栏的状态区域中。 单击该图标会使配置的信息出现在弹出窗口中。 使用此选项时,不会更新历史记录数据库。 |
/all | 指定 BGInfo 应更改当前登录系统的所有用户的壁纸。 此选项在终端服务环境中非常有用,或者计划定期在多人使用的系统上运行 BGInfo 时(请参阅下文的“使用计划”)非常有用。 |
/log | 使 BGInfo 将错误写入指定的日志文件,而不生成警告对话框。 此选项对于跟踪 BGInfo 在计划程序下运行时发生的错误非常有用。 |
/rtf | 使 BGInfo 将其输出文本写入 RTF 文件。 包括所有格式设置信息和颜色。 |
c:\bginfo.exe bginfo.bgi /timer:0 /silent /nolicprompt
似乎这样就可以了。
域控配置
将bginfo,bgi配置文件放入启动脚本就好了。
高级操作
有些内容不适合我们啊,比如说显示mac,显示了所有的mac,连虚拟机的虚拟网卡都显示了,显示IP也一样,IPV6显示了一堆。
我还想显示系统安装时间。所属OU,计算机描述的使用人信息。
如何自定义,注意Custom,自定义按钮
可以新建自定义内容
看起来还不少呢。
Environment variable,环境变量的值。
Registry value,注册表的值
WMI Query,wmi筛选值,这是微软新一代交互工具。具体可以去查文档。
version infomation for a file,文件版本
time stamp of a file,文件时间戳
contents of a file,文件内容
VB Script file,VBS脚本
好吧,看看我们有什么可以用的。
自定义注册表项
首先是计算机描述设置的使用人。我们在MDT设置描述时操作过这个注册表键。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\srvcomment
可以读出来。
自定义WMI查询
系统安装时间,这个用wmi查询
SELECT InstallDate FROM Win32_OperatingSystem
自定义VBS脚本
随便找个AI写个VBS脚本
' 创建一个WMI服务对象 Set objWMI = GetObject("winmgmts:\\.\root\cimv2") ' 查询启用了IP的网络适配器配置 Set Win32MacAddr = objWMI.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled = True") ' 遍历查询结果并输出IPv4地址 For Each objNetCard in Win32MacAddr If Not IsNull(objNetCard.IPAddress) And UBound(objNetCard.IPAddress) >= 0 Then For i = LBound(objNetCard.IPAddress) To UBound(objNetCard.IPAddress) ' 检查IP地址是否是IPv4格式(简单方法,可能不适用于所有情况) If InStr(objNetCard.IPAddress(i), ".") > 0 And InStr(objNetCard.IPAddress(i), ":") = 0 Then ' 假设如果包含点并且不包含冒号,则它是IPv4 Echo objNetCard.IPAddress(i) End If Next End If Next ' 清理对象 Set objWMI = Nothing Set Win32MacAddr = Nothing
保存为文件
在bginfo指向即可