Remove-WmiObject

删除现有 Windows Management Instrumentation (WMI) 类的实例。

语法

Remove-WmiObject [-类] <string> [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-命名空间 <string>] [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-WmiObject [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-命名空间 <string>] [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-WmiObject -InputObject <ManagementObject> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-WmiObject -Path <string> [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-命名空间 <string>] [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-WmiObject [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-命名空间 <string>] [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-WmiObject [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-命名空间 <string>] [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

说明

Remove-WmiObject cmdlet 删除现有 WMI 类的实例。

参数

-AsJob

将命令作为后台作业运行。使用此参数可运行需要较长时间才能完成的命令。

将命令作为后台作业运行。使用此参数可运行需要较长时间才能完成的命令。

使用 AsJob 参数时,该命令返回表示后台作业的对象,然后显示命令提示符。当作业完成时,您可以继续在此会话中工作。如果 Remove-WmiObject 用于远程计算机,则作业在本地计算机上创建,并且来自远程计算机的结果将自动返回本地计算机。若要管理作业,请使用包含 Job 名词的 cmdlet (Job cmdlet)。要获取作业结果,请使用 Receive-Job cmdlet。

注意:若要将此参数用于远程计算机,必须为本地和远程计算机配置远程处理。此外,在 Windows Vista 和更高版本的 Windows 中,必须使用“以管理员身份运行”选项启动 Windows PowerShell。有关详细信息,请参阅 about_Remote_Requirements。

有关 Windows PowerShell 后台作业的详细信息,请参阅 about_Jobs 和 about_Remote_Jobs。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Authentication <AuthenticationLevel>

指定用于 WMI 连接的身份验证级别。有效值包括:

-1:不变

0:默认值

1:无(不执行身份验证。)

2:连接(仅当客户端与应用程序建立了关系时才执行身份验证。)

3:调用(应用程序收到请求时只在每次调用的开始执行身份验证。)

4:数据包(对从客户端收到的所有数据执行身份验证。)

5:数据包整体性(所有在客户端和应用程序之间传送的数据都经过身份验证和验证。)

6:数据包保密性(使用其他身份验证等级的属性,并且所有数据都加密。)

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Authority <string>

指定用于对 WMI 连接进行身份验证的授权机构。可以指定标准 NTLM 或 Kerberos 身份验证。若要使用 NTLM,请将授权机构设置设为“ntlmdomain:<DomainName>”,其中 <DomainName> 标识有效的 NTLM 域名。若要使用 Kerberos,请指定“kerberos:<DomainName>\<ServerName>”。连接到本地计算机时不能包含授权机构设置。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-类 <string>

指定要删除的 WMI 类的名称。

是否为必需?

true

位置?

1

默认值

是否接受管道输入?

false

是否接受通配符?

false

-ComputerName <string[]>

指定要对其运行管理操作的计算机。值可以是完全限定的域名、NetBIOS 名称或 IP 地址。使用本地计算机名称、localhost 或点 (.)指定本地计算机。默认值为本地计算机。当远程计算机与用户位于不同的域时,必须使用完全限定的域名。可以通过使用管道将值传递给此参数来设置该参数的值。

此参数不依赖于 Windows PowerShell 远程处理,后者使用 WS-Management。即使您的计算机未配置为运行 WS-Management 远程命令,也可以使用 Get-WmiObject 的 ComputerName 参数。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Credential <PSCredential>

指定有权执行此操作的用户帐户。默认值为当前用户。键入用户名,例如“User01”、“Domain01\User01”或“User@Contoso.com”。或者,输入 PSCredential 对象,例如 Get-Credential cmdlet 返回的对象。键入用户名时,将会提示您键入密码。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-EnableAllPrivileges

在命令进行 WMI 调用之前,启用当前用户的所有权限。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Impersonation <ImpersonationLevel>

指定要使用的模拟级别。有效值包括:

0:默认值(读取本地注册表的默认模拟级别,通常设置为“3:模拟”。)

1:匿名(隐藏调用方的凭据。)

2:标识(允许对象查询调用方的凭据。)

3:模拟(允许对象使用调用方的凭据。)

4:委派(允许对象允许其他对象使用调用方的凭据。)

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-InputObject <ManagementObject>

指定要用作输入的 ManagementObject 对象。使用此参数时,将忽略所有其他参数。

是否为必需?

true

位置?

named

默认值

是否接受管道输入?

true (ByValue)

是否接受通配符?

false

-Locale <string>

指定 WMI 对象的首选区域设置。按喜爱顺序将 Locale 参数指定为 MS_<LCID> 格式的数组。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-命名空间 <string>

当此参数与 Class 参数一起使用时,它将指定引用的 WMI 类所在的 WMI 存储库命名空间。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Path <string>

指定 WMI 类的 WMI 对象路径,或指定要删除的 WMI 类实例的 WMI 对象路径。

是否为必需?

true

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-ThrottleLimit <int>

允许用户为可同时执行的 WMI 操作数目指定一个限制值。此参数与 AsJob 参数一起使用。节流限制仅适用于当前命令,而不适用于会话或计算机。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Confirm

在执行命令之前提示您进行确认。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-WhatIf

描述如果执行该命令会发生什么情况(无需实际执行该命令)。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

<CommonParameters>

此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.

输入和输出

输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。

输入

System.Management.ManagementObject

可以通过管道将管理对象传递给 Remove-WmiObject。

输出

“无”或 System.Management.Automation.RemotingJob

如果使用 AsJob 参数,则此 cmdlet 返回作业对象。否则,将不产生任何输出。

示例 1

C:\PS>notepad   
C:\PS> $np = get-wmiobject -query "select * from win32_process where name='notepad.exe'"
C:\PS> $np | remove-wmiobject

说明
-----------
此命令关闭 Notepad.exe 的所有实例。

第一条命令启动记事本的实例。

第二条命令使用 Get-WmiObject cmdlet 来检索对应于 Notepad.exe 的 Win32_Process 实例,并将它们存储在 $np 变量中。

第三条命令将 $np 变量中的对象传递给 Remove-WmiObject cmdlet,该 cmdlet 将删除 Notepad.exe 的所有实例。





示例 2

C:\PS>$a = Get-WMIObject -query "Select * From Win32_Directory Where Name ='C:\\Test'"
C:\PS> $a | Remove-WMIObject

说明
-----------
此命令删除 C:\Test 目录。

第一条命令使用 Get-WMIObject cmdlet 查询 C:\Test 目录,然后将该对象存储在 $a 变量中。

第二条命令通过管道将 $a 变量传递给 Remove-WMIObject,该 cmdlet 将删除这个目录。





另请参阅

概念

Get-WmiObject
Invoke-WmiMethod
Set-WmiInstance
Get-WSManInstance
Invoke-WSManAction
New-WSManInstance
Remove-WSManInstance