在涉及到企业的桌面管理时,管理员通常都会依赖于像微软的System Center系列产品这样的工具。然而,许多常见的Windows桌面管理功能都可以通过命令行来执行,而无需投资昂贵的管理软件。
虽然PowerShell是命令行管理的不错的选择,但它不是唯一可用的工具。微软还提供了其它一些值得一看的命令行工具。PowerShell肯定可以处理大部分Windows 7或Windows 8的桌面管理任务,但它往往需要复杂的脚本。例如,微软的“Quick and Dirty”软件清单实际上就是依赖于一个相当复杂的PowerShell脚本。
那么,使用命令行来对企业桌面管理的最佳方式是什么?请记住,没有必要一切从头开始,微软已经创建了一些针对桌面管理的PowerShell脚本,你完全可以根据自己的需要下载和使用,如Windows7的设备系统库存脚本。
另一种简化管理的方式是采用一个叫做PSInfo的微软命令行工具,可以使用它来提取Windows桌面管理信息。PSInfo工具不是原生的Windows命令,它是PSTOOLS集合的一部分。
首先,需要确保在每一台需要用这个工具进行管理的计算机上开启远程注册表服务。 Windows桌面管理器可以支持Windows XP以及更高版本,或者支持Windows Server 2003及以上。
例如:可以使用该工具来确定一台计算机安装了哪些补丁,剩余多少可用磁盘空间。另外,你可以使用命令PSInfo -H来查看哪些修补程序已经应用到这个桌面。
当然,这对于单个桌面管理进行一次性故障排错的场景很有帮助,但对于大规模的桌面管理来说,它并没有很大的实际意义。幸运的是,PSInfo也包含了在大规模环境中应用的功能。
你可以使用“计算机名”参数来对一个特定的远程桌面运行PSInfo管理。然而,这种操作方式对于大量的远程系统查询不具实际意义。在这种情况下,你最好使用“@ file”参数。“@ file”参数允许管理员将需要管理的计算机列表放入一个文本文件中。
如果你计划对远程桌面进行批量管理,你还应该考虑安全性,以及如何处理该命令的输出。
正如前面提到的,你必须开启所有目标计算机的远程注册表服务。该服务允许PSInfo程序来获取远程机器的配置,但你必须考虑启用这项服务的安全隐患。
这让我不得不提出第二个需要说明的地方,安全性。启用远程注册表服务不会让远程计算机完全暴露在外部。要访问远程的计算机还必须提供相应的凭据。即使用-U和-P参数来完成。-U表示提供的用户名,-P表述提供的密码。如果你要同时管理多台远端的计算机,提供的凭据对所有目标计算机都必须是有效的。
对于控制命令的输出,你可以在屏幕上查看输出。如果有多台计算机的结果需要查看,可以使用参数“-C”来创建一个CSV文件。也可以通过过滤参数只显示那些需要的字段区域。例如,可以使用服务过滤器来创建已经应用到每台目标计算机的服务包的报告。
这又带来了另一个问题。我刚才讲了使用PSInfo工具更新监控信息,但你也可以用它来做一些其它的事情。例如,使用参数“-S”可用于显示安装在目标系统上的应用程序列表。同样,使用参数“-D”,可以用来显示磁盘卷信息。
你还可以使用PSInfo工具来收集硬件清单信息,你甚至不需要提供任何命令行参数。只需输入PSInfo命令就能够得到目标计算机的硬件信息。
正如你所看到的,Windows桌面管理有很多不错的命令行工具。对于Windows 7和Windows 8的计算机,PowerShell命令非常的合适,但是对于那些之前的操作系统或者是希望减少PowerShell脚本复杂度的管理员来说,PSInfo工具或许是更好的选择。