时间:2012-10-14 09:59:21 作者:木木 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20121011/17302.html 手机查看 评论 反馈
现在是时候坐下来了解一下Get-WMIObject的不寻常之处了,它是五个命令集中最有用的一个。工具箱里有了它,你几乎与所有你能想到的任一块数据(微软相关的系统)都只有一线之隔。有超过600个Win32类,用来显示CPU、内存、磁盘、进程、网络、BIOS和USB等信息。激动吗?等一下你就会知道它有多简单。
获取操作系统的信息:
Get-WmiObject –class win32_OperatingSystem获取计算机系统的信息
Get-WmiObject –class win32_ComputerSystem获取磁盘信息:
Get-WmiObject –class Win32_LogicalDisk获取网络信息:
Get-WmiObject –class Win32_NetworkAdapterConfiguration只要尝试一下 - 就是那么简单。
让我们看一个使用WMI获取IP信息的例子。下面有效的脚本代替了ipconfig和它通常的awful输出。
function Get-IP
{
[Cmdletbinding()]
Param(
[alias('dnsHostName')]
[Parameter(ValueFromPipelineByPropertyName=$true,ValueFromPipeline=
$true) [string]$ComputerName = $Env:COMPUTERNAME
)
process
{
$NICs = Get-WmiObject
Win32_NetworkAdapterConfiguration -Filter
"IPEnabled='$True'" -ComputerName $ComputerName
foreach ($Nic in $NICs)
{
$myobj = @{
Name = $Nic.Description
MacAddress = $Nic.MACAddress
IP4 = $Nic.IPAddress | where{$_
-match
"\d+\.\d+\.\d+\.\d+"}
IP6 = $Nic.IPAddress | where{$_
-match "\:\:"}
IP4Subnet = $Nic.IPSubnet | where{$_
-match
"\d+\.\d+\.\d+\.\d+"}
DefaultGWY = $Nic.DefaultIPGateway |
Select -First 1
DNSServer = $Nic.DNSServerSearchOrder
WINSPrimary = $Nic.WINSPrimaryServer
WINSSecondary = $Nic.WINSSecondaryServer
}
$obj = New-Object PSObject -Property $myobj
$obj.PSTypeNames.Clear()
$obj.PSTypeNames.Add('BSonPosh.IPInfo')
$obj
}
}
}你可以在微软的网站上找到更多的关于WMI的信息,还能看到WMI术语和Win32类的列表。
看了这么多,也许你还不了解什么是WMI,小编顺便帮你讲解下, Windows Management Instrumentation(WMI)是能够改变你日常生活的工具之一。维基百科解释说WMI旨在“规定一个独立环境标准的非专有设置,它让管理应用程序之间能共享管理信息。”
发表评论
共0条
评论就这些咯,让大家也知道你的独特见解
立即评论以上留言仅代表用户个人观点,不代表系统之家立场