Remove-WmiObject
删除现有 Windows Management Instrumentation (WMI) 类的实例。
语法
Remove-WmiObject
[-Class] <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-WmiObject
-InputObject <ManagementObject>
[-AsJob]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-WmiObject
-Path <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-WmiObject
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-WmiObject
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-WmiObject
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
Remove-WmiObject
cmdlet 删除现有 Windows Management Instrumentation (WMI) 类的实例。
示例
示例 1:关闭 Win32 进程的所有实例
notepad
$np = Get-WmiObject -Query "select * from win32_process where name='notepad.exe'"
$np | Remove-WmiObject
此示例关闭 Notepad.exe 的所有实例。
第一条命令启动记事本的实例。
第二条命令使用 Get-WmiObject cmdlet 来检索对应于 Notepad.exe 的 Win32_Process 实例,然后将它们存储在 $np
变量中。
第三条命令将 $np 变量中的对象传递给 Remove-WmiObject
,该 cmdlet 将删除 Notepad.exe 的所有实例。
示例 2:删除文件夹
此命令删除 C:\Test 文件夹。
$a = Get-WMIObject -Query "Select * From Win32_Directory Where Name ='C:\\Test'"
$a | Remove-WMIObject
第一条命令使用 Get-WMIObject
查询 C:\Test
文件夹,然后将该对象存储在 $a
变量中。
第二个命令通过管道将 $a
变量传递给 Remove-WMIObject
,这会删除文件夹。
参数
-AsJob
指示此 cmdlet 作为后台作业运行。 使用此参数可运行需要较长时间才能完成的命令。
Windows PowerShell 3.0 中引入的新 CIM cmdlet 执行与 WMI cmdlet 相同的任务。 CIM cmdlet 符合 WS-Management (WSMan) 标准和通用信息模型 (CIM) 标准,从而使得这些 cmdlet 可以使用相同的技术来管理运行 Windows 操作系统的计算机以及运行其他操作系统的计算机。 建议不要使用 Remove-WmiObject
,而考虑使用 Remove-CimInstance cmdlet。
使用 AsJob 参数时,该命令将返回表示后台作业的对象,然后显示命令提示符。 当作业完成时,你可以继续在此会话中工作。 如果 Remove-WmiObject
用于远程计算机,则作业在本地计算机上创建,并且来自远程计算机的结果将自动返回本地计算机。 若要管理作业,请使用包含 Job 名词的 cmdlet (Job cmdlet)。 若要获取作业结果,请使用 Receive-Job
cmdlet。
若要将此参数用于远程计算机,必须为本地和远程计算机配置远程处理。 使用“以管理员身份运行”选项启动 Windows PowerShell。 有关详细信息,请参阅 about_Remote_Requirements。
有关 Windows PowerShell 后台作业的详细信息,请参阅 about_Jobs 和 about_Remote_Jobs。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Authentication
指定用于 WMI 连接的身份验证级别。 此参数的可接受值为:
-1
:Unchanged。0
:默认。1
:None。 不执行身份验证。2
:Connect。 仅当客户端与应用程序建立了关系时才执行身份验证。3
:Call。 应用程序收到请求时只在每次调用的开始执行身份验证。4
:Packet。 对从客户端收到的所有数据执行身份验证。5
:PacketIntegrity。 所有在客户端和应用程序之间传送的数据都经过身份验证和验证。6
:PacketPrivacy。 使用其他身份验证等级的属性,并且所有数据都加密。
类型: | AuthenticationLevel |
接受的值: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Authority
指定用于对 WMI 连接进行身份验证的授权机构。 可以指定标准 NTLM 或 Kerberos 身份验证。 若要使用 NTLM,请将授权机构设置设为 ntlmdomain:<DomainName>,其中 <DomainName> 标识有效的 NTLM 域名。 若要使用 Kerberos,请指定 kerberos:<DomainName>\<ServerName>。 连接到本地计算机时不能包含授权机构设置。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Class
指定此 cmdlet 删除的 WMI 类的名称。
类型: | String |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-ComputerName
指定要运行该 cmdlet 的计算机的名称。 默认为本地计算机。
键入一台或多台计算机的 NetBIOS 名称、IP 地址或完全限定的域名。 若要指定本地计算机,请键入计算机名称、句点 (.
) 或 localhost。
此参数不依赖于 Windows PowerShell 远程处理。 即使计算机未配置为运行远程命令,也可以使用 ComputerName 参数。
类型: | String[] |
别名: | Cn |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Credential
指定有权执行此操作的用户帐户。 默认为当前用户。
键入用户名,如 User01 或 Domain01\User01,或输入 PSCredential 对象,例如由 Get-Credential
cmdlet 生成的对象。 键入用户名时,此 cmdlet 会提示输入密码。
类型: | PSCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-EnableAllPrivileges
指示此 cmdlet 在命令进行 WMI 调用之前启用当前用户的所有权限。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Impersonation
指定要使用的模拟级别。 此参数的可接受值为:
0
:默认。 读取默认模拟级别的本地注册表,通常设置为“3:模拟”。1
:Anonymous。 隐藏调用方的凭据。2
:Identify。 允许对象查询调用方的凭据。3
:Impersonate。 允许对象使用调用方的凭据。4
:Delegate。 允许对象允许其他对象使用调用方的凭据。
类型: | ImpersonationLevel |
接受的值: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-InputObject
指定要用作输入的 ManagementObject 对象。 使用此参数时,将忽略所有其他参数。
类型: | ManagementObject |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Locale
指定 WMI 对象的首选区域设置。 按首选顺序将 Locale 参数指定为 MS_<LCID> 格式的数组。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Namespace
当此参数与 Class 参数一起使用时,它将指定引用的 WMI 类所在的 WMI 存储库命名空间。
类型: | String |
别名: | NS |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Path
指定 WMI 类的 WMI 对象路径,或指定要删除的 WMI 类实例的 WMI 对象路径。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-ThrottleLimit
指定为运行此命令可建立的并发连接的最大数目。 此参数与 AsJob 参数一起使用。 节流限制仅适用于当前命令,而不适用于会话或计算机。
类型: | Int32 |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-WhatIf
显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
可以通过管道将管理对象传递给此 cmdlet。
输出
None, System.Management.Automation.RemotingJob
如果你指定 AsJob 参数,此 cmdlet 将返回作业对象。 否则,将不生成任何输出。
备注
Windows PowerShell 包含以下 Remove-WmiObject
别名:
rwmi