]
Invoke-WmiMethod
-InputObject <ManagementObject>
[-Name] <String>
[-ArgumentList <Object[]>]
[-AsJob]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
-Path <String>
[-Name] <String>
[-ArgumentList <Object[]>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
[-Name] <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
[-Name] <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
[-Name] <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
该
Invoke-WmiMethod
cmdlet (WMI) 对象调用 Windows Management Instrumentation 的方法。
Windows PowerShell 3.0 中引入的新通用信息模型 (CIM) cmdlet 执行与 WMI cmdlet 相同的任务。 CIM cmdlet 符合 WS-Management (WSMan) 标准和 CIM 标准,该标准使 cmdlet 能够使用相同的技术来管理 Windows 计算机和运行其他操作系统的计算机。 请考虑使用
Invoke-CimMethod
,而不是使用
Invoke-WmiMethod
。
示例 1:列出 WMI 对象的必需顺序
([wmiclass]'Win32_Volume').GetMethodParameters('Format')
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 6
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ClusterSize : 0
EnableCompression : False
FileSystem : NTFS
Label :
QuickFormat : False
Version : 0
PSComputerName :
此命令按所需的顺序列出对象。 若要在 PowerShell 3.0 中调用 WMI,则与备用方法不同,并要求对象值以特定的顺序输入。
示例 2:启动应用程序的实例
([Wmiclass]'Win32_Process').GetMethodParameters('Create')
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 3
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
CommandLine :
CurrentDirectory :
ProcessStartupInformation :
PSComputerName :
Invoke-WmiMethod -Path win32_process -Name create -ArgumentList notepad.exe
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 2
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ProcessId : 11312
ReturnValue : 0
PSComputerName :
此命令通过调用
Create
Win32_Process
类的 方法启动记事本的实例。
ReturnValue
属性使用 填充,
0
ProcessId
属性使用整数填充 (下一个进程 ID 号) 如果命令完成。
示例 3:重命名文件
Invoke-WmiMethod -Path "CIM_DataFile.Name='C:\scripts\test.txt'" -Name Rename -ArgumentList "C:\scripts\test_bu.txt"
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0
此命令重命名文件。 它使用
Path
参数引用
CIM_DataFile
类的实例。 然后,它将 Rename 方法应用于该特定实例。
如果命令已完成,则
ReturnValue
属性将使用
0
填充。
示例 4:使用“-ArgumentList”传递值数组
使用对象
$binSD
数组后
$null
跟值的示例。
$acl = get-acl test.txt
$binSD = $acl.GetSecurityDescriptorBinaryForm()
Invoke-WmiMethod -class Win32_SecurityDescriptorHelper -Name BinarySDToSDDL -ArgumentList $binSD, $null
-ArgumentList
指定要传递给被调用方法的参数。 此参数的值必须是 对象的数组,并且它们必须按被调用方法所需的顺序显示。 cmdlet
Invoke-CimCommand
没有这些限制。
若要确定列出这些对象的顺序,请在靠近本主题末尾的示例 1 中对 WMI 类运行
GetMethodParameters()
方法。
如果第一个值是包含多个元素的数组,则需要第二个 值
$null
。 否则,该命令将生成错误,例如
Unable to cast object of type 'System.Byte' to type 'System.Array'.
。 请参阅上面的示例 4。
指示此 cmdlet 将命令作为后台作业运行。 使用此参数可运行需要较长时间才能完成的命令。
使用
AsJob
参数时,该命令将返回表示后台作业的对象,然后显示命令提示符。 当作业完成时,你可以继续在此会话中工作。 如果
Invoke-WmiMethod
对远程计算机使用 ,则会在本地计算机上创建作业,并且远程计算机的结果将自动返回到本地计算机。 若要管理作业,请使用包含
Job
名词的 cmdlet (作业 cmdlet) 。 若要获取作业结果,请使用
Receive-Job
cmdlet。
若要将此参数用于远程计算机,必须为本地和远程计算机配置远程处理。 此外,必须使用 Windows Vista 和更高版本的 Windows 中的
“以管理员身份运行”
选项启动Windows PowerShell。 有关详细信息,请参阅
about_Remote_Requirements
。
有关Windows PowerShell后台作业的详细信息,请参阅
about_Jobs
和
about_Remote_Jobs
。
Type:
SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Authentication
指定用于 WMI 连接的身份验证级别。 此参数的可接受值为:
-1
:
未更改
0
:
默认
1
:
无
(不进行身份验证。)
2
:
仅
当客户端与 application 建立关系时,才会执行连接 (身份验证。)
3
:
调用
(身份验证仅在应用程序收到 request 时在每个调用开始时执行。)
4
:
对
从 client.) 接收的所有数据执行数据包 (身份验证
5
:
PacketIntegrity
(客户端与应用程序之间传输的所有数据都经过身份验证和验证。)
6
:
PacketPrivacy
(使用其他身份验证级别的属性,并加密所有数据。)
Type:
AuthenticationLevel
Accepted values:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Authority
指定用于对 WMI 连接进行身份验证的授权机构。 可以指定标准Windows NT LAN Manager (NTLM) 或 Kerberos 身份验证。 若要使用 NTLM,请将颁发机构设置设置为
ntlmdomain:<DomainName>
,其中
<DomainName>
标识有效的 NTLM 域名。 若要使用 Kerberos,请指定
kerberos:<DomainName>\<ServerName>
。 连接到本地计算机时不能包含授权机构设置。
Type:
String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Class
指定包含要调用的静态方法的 WMI 类。
Type:
String
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ComputerName
以字符串数组的形式指定此 cmdlet 运行命令的计算机。 默认为本地计算机。
键入一台或多台计算机的 NetBIOS 名称、IP 地址或完全限定的域名。 若要指定本地计算机,请键入计算机名称、点 (
.
) 或
localhost
。
此参数不依赖于 Windows PowerShell 远程处理。 即使你的计算机未配置为运行远程命令,你也可以使用
ComputerName
参数。
Type:
String
[
]
Aliases:Cn
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Confirm
提示你在运行 cmdlet 之前进行确认。
Type:
SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-Credential
指定有权执行此操作的用户帐户。 默认为当前用户。 键入用户名,例如
User01
、
Domain01\User01
或
User@Contoso.com
。 或者输入
PSCredential
对象,例如
Get-Credential
cmdlet 返回的对象。 键入用户名时,将会提示你输入密码。
Type:
PSCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-EnableAllPrivileges
指示此 cmdlet 在命令进行 WMI 调用之前启用当前用户的所有权限。
Type:
SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Impersonation
指定要使用的模拟级别。 此参数的可接受值为:
0
:
默认
(读取默认模拟级别的本地注册表,该级别通常设置为
3
:
Impersonate
.)
1
:
匿名
(隐藏 caller.) 的凭据
2
:
标识
(允许对象查询 caller.)
3
:
模拟
(允许对象使用 caller.)
4
:
委托
(允许对象允许其他对象使用 caller.)
Type:
ImpersonationLevel
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-InputObject
指定要用作输入的
ManagementObject
对象。 使用此参数时,将忽略
除 Flag
和
Argument
参数以外的所有其他参数。
Type:
ManagementObject
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
-Locale
指定 WMI 对象的首选区域设置。 将
Locale
参数的值指定为采用首选顺序格式的数组
MS_<LCID>
。
Type:
String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Name
指定要调用的方法的名称。 此参数是必需的,不能为 null 或为空。
Type:
String
Position:1
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Namespace
与
Class
参数一起使用时,此参数指定引用的 WMI 类或对象所在的 WMI 存储库命名空间。
Type:
String
Aliases:NS
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Path
指定 WMI 类的 WMI 对象路径,或指定 WMI 类实例的 WMI 对象路径。 指定的类或实例必须包含
Name
参数中指定的方法。
Type:
String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ThrottleLimit
指定可同时执行的 WMI 操作数的限制值。
此参数与
AsJob
参数一起使用。 节流限制仅适用于当前命令,而不适用于会话或计算机。
Type:
Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-WhatIf
显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。
Type:
SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
此 cmdlet 不接受任何输入。
此 cmdlet 将不生成任何输出。
Get-WSManInstance
Invoke-WSManAction
New-WSManInstance
Remove-WSManInstance
Get-WmiObject
Remove-WmiObject
Set-WmiInstance