PowerTip of the Day from powershell.com上周汇总(二)

查找感兴趣的WMI对象

Finding Interesting WMI Classes

http://app.en25.com/e/es.aspx?s=1403&e=6567&elq=1b4fb04527034828893d32831da6ff24

WMI非常庞大,如果要进行操作就必须要提供一个正确的WMI类名,不过有一种比较方便的查询方式,就是用Get-WmiObject并且加-list参数,这个参数可以是模糊查询,比如:

PS> Get-WmiObject -list Win32_*video*

这个命令会列出跟video相关的WMI对象。同时也可以用以下命令查看详细信息。

Get-WmiObject Win32_VideoController

获取WMI对象的帮助信息

Getting Help for WMI Classes

http://app.en25.com/e/es.aspx?s=1403&e=6635&elq=c68b79ad9419488c951e03b177005c54

$class = [wmiclass]'Win32_VideoController'

$class.psbase.Options.UseAmendedQualifiers = $true

($class.psbase.qualifiers["description"]).Value

先定义一个变量,类型为一个Win32_VideoControllerWMI对象,然后查看其description信息。

中间的一句是必须加上的,否则无法查看description信息。

通过WMI调用ChkDsk命令

Calling ChkDsk via WMI

http://app.en25.com/e/es.aspx?s=1403&e=6711&elq=3fd74a46b65a4f2398eae4ab76d4d559

([wmi]"Win32_LogicalDisk='D:'").Chkdsk($true, $false, $false, $false, $false, $true).ReturnValue

需要注意的是一定要有相关的权限,否则会提示”Access Denied”

如果需要获取这个命令都需要提供什么参数,使用下面的命令:

([wmi]"Win32_LogicalDisk='D:'").Chkdsk

重置DHCP(?)

Renewing all DHCP Leases

http://app.en25.com/e/es.aspx?s=1403&e=6803&elq=5a3e0d0cf1aa436ca0376a7f65a711e8

([wmiclass]"Win32_NetworkAdapterConfiguration").RenewDHCPLeaseAll().ReturnValue

WMI对象也是带静态方法的,所以可以在不实例化的情况下直接调用。

获取WMI方法的帮助信息

Getting Help on WMI Methods

http://app.en25.com/e/es.aspx?s=1403&e=6894&elq=3b7042ea11fe4e49b58f7e812caffb24

介绍获取某WMI类下指定方法的帮助信息:

$class = [wmiclass]"Win32_NetworkAdapterConfiguration"

$class.psbase.Options.UseAmendedQualifiers = $true

$class.psbase.methods | % { $rv = 1 | Select-Object Name, Help; $rv.Name = $_.Name; $rv.help = ($_.Qualifiers["Description"]).Value; $rv } | format-table -AutoSize –Wrap

以上来自powershell.com

2010年七月份26日到30日的PowerTip of the Day

你可能感兴趣的:(powershell)