我想写一个Function系列,把常用的获取信息的语句写成一个又一个的Function,也方便后面写PowerShell生成Html系列文章时,直接采取以写好的Function来调用就好了。
最熟悉不过的就是获取OS信息啦,那么也就从这个开始写吧。
说明,获取计算机信息可以使用Get-ADComputer,但我在本系列文章将采用Get-WmiObject来获取相关信息。说明一下,Get-WmiObject在powershell 3.0以后就逐渐被Get-CimInstance取代了。不过Get-WmiObject在powershell 3.0及以后的版本还是可以运行的,只不过Get-CimInstance执行的结果只是名副其实的Instance,没有包含任何方法信息。
想了下,应该是直接上脚本呢,还是写个过程引导读者如何写出最终的脚本。考虑到这一系列的文章适合小白阅读,那么还是将整个过程简单写出来会更好些。
1. 确定合适的class
WMI的类有很多,到底哪个class才会提供OS的信息给我们呢?等等,OS是什么的简写?OperatingSystem!因此你是不是应该想到这个class的名称应该为Win32_OperatingSystem呢?当然,作为小白的话,可能你都不确定这个class是否存在,那么则可以运行以下脚本来获取到所有的class(在PowerShell介绍第六回有提到过).
$i=0
$Type = "Win32"
$WMI = Get-WmiObject -List | Where-Object {$_.name -Match $Type}
Foreach ($Class in $WMI) {$Class.name | out-file –filepath e:\win32.csv -append; $i++}
确定了合适的class,第一条句子应该就已经会写了:
$OS = Get-WmiObject -class Win32_OperatingSystem -ComputerName $ComputerName
先在PS上运行下,看看得出来的都是一些什么信息。