时间:2021-05-22
我记得在xp时代,经常使用的工具有一个叫做WMI Administrative Tools,是微软官方提供的用来查看、编辑WMI对象的,只是现在好似不支持新的系统了。但是,在Win7、Server 2008下,这些功能都可以方便的通过PowerShell来完成。
首先,先来认识一下什么是WMI对象:
WMI是作为一个基本的数据库存在于Windows系统中的。我们可以连接到WMI服务请求查询其中所包含的信息。WMI包括了系统方方面面的信息,包括:
• 机器信息:制造商、型号、序列号等
• BIOS信息
• OS信息
• CPU信息:种类、制造商、速度、版本
• 服务器内存总量
• 磁盘信息:容量、格式等
• 网络信息:MAC、IP等
• 其他
可以看出WMI内容是多么的丰富,几乎包括了计算机的方方面面。
利用PowerShell查看WMI成员
在PowerShell中通过以下命令列出WMI对象:
get-wmiObject -list -namespace “root\CIMV2″ <enter>
需要具体查看某个类的成员,使用下面的命令(例如类"win32_process"):
get-wmiobject-classwin32_process-namespace"root\cimv2"|get-member
可以看到每个有的成员是属性(Property),而有的则是方法(Method)。查看服务信息
get-wmiobject -class win32_service -namespace "root\cimv2" | format-list * <enter> 查看机器信息
get-wmiobject -class win32_computersystem | format-list * <enter>
在网络管理环境中的多数情况下,我们可能要查看不同的计算机信息,因此,就需要使用计算机这一参数,例如:
查询本地计算机的网络信息
复制代码 代码如下:
$name="."
$items = get-wmiObject -class win32_NetworkAdapterConfiguration '
-namespace "root\CIMV2" -ComputerName $name | where{$_.IPEnabled -eq “True”}
foreach($obj in $items) {
Write-Host "DHCP Enabled:" $obj.DHCPEnabled
Write-Host "IP Address:" $obj.IPAddress
Write-Host "Subnet Mask:" $obj.IPSubnet
Write-Host "Gateway:" $obj.DefaultIPGateway
Write-Host "MAC Address:" $ojb.MACAddress
}
如果查询对象是其他机器,只需给变量"$name"赋与其他值即可。
例如:
复制代码 代码如下:
$name=read-host "Enter Computer Name"
write-host "Computer:"$name
$items = get-wmiObject -class win32_NetworkAdapterConfiguration '
-namespace "root\CIMV2" -ComputerName $name | where{$_.IPEnabled -eq “True”}
foreach($obj in $items) {
Write-Host "DHCP Enabled:" $obj.DHCPEnabled
Write-Host "IP Address:" $obj.IPAddress
Write-Host "Subnet Mask:" $obj.IPSubnet
Write-Host "Gateway:" $obj.DefaultIPGateway
Write-Host "MAC Address:" $ojb.MACAddress
}
配合更多的查询命令,便可以方便的写出一个查询计算机信息的脚本,在本教程的结束部分,我会尽可能多的提供各种常用脚本。本节内容就先写到这里。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
WMI是Windows管理规范的缩写,其中包含很多系统的软硬件信息。而Windows用户信息也可以通过WMI对象来获取。PowerShell提供了对WMI的访问
PowerShell可以很方便的操作WMI,而DNS服务又提供了很好的WMI支持,所以,PowerShell可以通过操作WMI来操作WindowsDNS服务。1
PowerShell脚本基础知识概览:常量、变量、数组、哈希条件、逻辑循环控制模块化WMI对象(各种设备)ADSI对象(活动目录)常量、变量、数组、哈希各种字符
PowerShell设置DHCP自动获取IP地址,PowerShell可以很方便的设置本地计算机启用DHCP来动态获取IP地址,这需要用到WMI扩展。本文介绍详
上一篇文章中介绍了WMI的基础内容,主要讲了WMI的属性值的查看,文中还提到,WMI不仅具有属性,还具有方法。这一节就来具体讲一下如何调用WMI对象方法。通过查