系统极客一直在努力
专注操作系统及软件使用技能

Bginfo—强大的Windows系统信息显示工具

bginfo-1

如果你是一位 Windows Server 的系统运维人员或经常做项目的 IT Pro,除 Powershell 外,肯定也经常 RDP 连接到很多不同的服务器。当我们在多台不同服务器之间进行切换时,很容易就搞得很混乱。BGinfo 就是解决这一难题的一大利器,其同样出自 Sysinternals 套件,可以自动在桌面的一个区域中显示当前登录或远程连接系统的信息,同样也适用于普通 Windows 用户。


该工具可谓历史悠久,不过我很少见到有个人或组织大规模使用,直到 Microsoft 为所有新创建的Azure VM (Windows系统)都内置了 Bginfo 之后才看到大规模应用的范例。

如果你此前有关注过我们的 SysInternals 系列文章,可能会发现我所介绍的工具都是一些辅助系统排错的强大工具,很容易让大家走入 Sysinternals 工具包就是排错工具的误区。其实 Sysinternals 有很多工具都可以帮助我们查看系统信息,对深入理解操作系统的运行原理非常有帮助。

例如,Bginfo 就是可以在桌面上显示当前 Windows 环境信息的强大工具,让用户或管理员在登录系统时就一目了然,非常方便。

如果你曾经使用过,千万别以为它就只是一个信息显示工具。它在强大之处在于:可以将信息保存到一个文件甚至是数据库中,也可以不在桌面显示任何信息的情况下捕获网络中所有计算机的信息(前提是有权限),这一切都可以使用 Bginfo 和配合脚本来完成。

BGInfo界面模式

直接使用是最简单的:只需打开点击「Apply(应用)」按钮,其默认定义的系统信息就会显示出来。当然,默认桌面上显示的系统信息不会随硬件的热插拔、IP地址变更或其它系统信息的变化而更新,不过我们可以使用任务计划来按需自动刷新。

Bginfo

对于要在桌面上显示哪些信息,用什么字体显示,以及在桌面上显示的位置都可以由用户自定义。

Bginfo

  • Background:可以定义直接在当前壁纸上显示、指定一个壁纸路径或纯色显示。
  • Position:可配置信息输出位置(9个选项)以及多显示器输出支持
  • Desktops:用于配置用户远程登录、控制台登录时的显示方式
  • Preview:预览配置效果

当你调整好自己习喜欢的显示方式后,可以将配置导出成一个 .bgi 配置文件便于随时加载回来。

Bginfo

Bginfo命令行模式

除双击使用界面模式外,Bginfo 还是一个命令行程序,只要配合好事先创建的 .bgi 配置文件即可无界面使用。

Bginfo

上图中,我们使用最多的是 /TIMER 参数,将其设置为 0 是立即应用配置的意思,/SILENT 是在出错时保持静默,/NOLICPROMPT 用于指定在首次使用时不显示 EULA 信息 ,/POPUP /TASKBAR 是用于系统托盘和弹出系统信息的开关,我们这里不使用。

例如,我们把 BGinfo.exe 和创建好的 config.bgi 配置文件同时放到 C:\Packages  文件夹,则可以在系统启动时执行如下命令生成显示信息:

C:\Packages\bginfo.exe config.bgi /timer:0 /nolicprompt /silent

当然也可以写成 .bat 或创建快捷方式放到「启动」文件夹,这样每次登录系统时则会在桌面自动生成系统信息了。

小提示: Windows 用户可以在资源管理器或运行中直接执行 shell:startup 快速打开当前用户的「启动」文件夹,所有放在该文件夹的脚本、快捷方式、应用程序等都会随用户登录时自动启动。

优化显示信息

要改变输出的系统信息内容是非常容易的,Bginfo 的编辑界面就像一个富文本编辑器。你可以从面板右边的「Fields」增加显示条目,左侧窗口可以删除内容和调整字体等。

Bginfo

点击「Preview」之后我们便可以看到显示的结果,如果不满意就再调整。

Bginfo

Bginfo 的强大绝不仅限于后台命令行行方式输出和内置变量信息输出,其强大之处在于用户完全可以使用各种方式「Custom」自定义要在桌面显示的内容,数据源可以通过环境变量WMI文件甚至是 VB Script 脚本取得。有了自定义字段,我们几乎可以输出任何想要的信息了。

Bginfo

例如用 WMI 直接输出当前操作系统大版本:

Bginfo

Bginfo与sysprep虚拟机母板

很多 IT Pro 都会想把 Bginfo 做到 VM 虚拟机母板里面,但我们在制作虚拟机母板时通常都会 sysprep。这样一来当,前用户的所有配置文件都会被清空,重新开机 OOBE 时再重新生成新账户和配置文件,写到「启动」文件夹中的启动脚本也就失效了。因此,必需把 bginfo 的启动项写到注册表的 RUN 键值中才行。

例如我们还是把 bginfo.exe 执行文件和 config.bgi 配置文件放到 C:\Packages  文件夹(以免被 sysprep 破坏),注册表需要这样写:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"BGInfo"="\"C:\\Packages\\BGInfo.exe\" \"C:\\Packages\\config.bgi\" /NOLICPROMPT /timer:0 /silent"

如果你跟我的路径不一样,记得自己改下。

好了,差不多了,本次 Bginfo 工具就介绍到这里,希望很快能为大家介绍下一款 Sysinternals 成员。

赞(0) 赞赏

评论 4

  1. #1

    为什么有部分用户信息获取不到?

    Mr_Hello8年前 (2016-10-12)回复
    • 例如?

      海猴子8年前 (2016-10-12)回复
    • 本地管理员登陆的获取不到,只有用域账号的能获取到,组策略里也设置计算机组了,用户把everyone都加进去了

      Mr_Hello8年前 (2016-10-19)回复
      • @海猴子

        Mr_Hello8年前 (2016-10-20)

微信赞赏