Remove-WmiObject

Exclui uma instância de uma classe existente do Windows Management Instrumentation (WMI).

Sintaxe

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>]

Description

O Remove-WmiObject cmdlet exclui uma instância de uma classe WMI (Instrumentação de Gerenciamento do Windows) existente.

Exemplos

Exemplo 1: Fechar todas as instâncias de um processo Win32

notepad
$np = Get-WmiObject -Query "select * from win32_process where name='notepad.exe'"
$np | Remove-WmiObject

Este exemplo fecha todas as instâncias de Notepad.exe.

O primeiro comando inicia uma instância do bloco de notas.

O segundo comando usa o cmdlet Get-WmiObject para recuperar as instâncias do Win32_Process que correspondem a Notepad.exe e as armazena na $np variável.

O terceiro comando passa o objeto na variável $np para Remove-WmiObject, que exclui todas as instâncias de Notepad.exe.

Exemplo 2: Excluir uma pasta

Esse comando exclui a pasta C:\Test.

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

O primeiro comando usa Get-WMIObject para consultar a C:\Test pasta e, em seguida, armazena o $a objeto na variável.

O segundo comando canaliza a $a variável para Remove-WMIObject, que exclui a pasta.

Parâmetros

-AsJob

Indica que esse cmdlet é executado como um trabalho em segundo plano. Use este parâmetro para executar comandos que levam muito tempo para serem concluídos.

Novos cmdlets do CIM, apresentados pelo Windows PowerShell 3.0, executam as mesmas tarefas que os cmdlets do WMI. Os cmdlets CIM estão em conformidade com os padrões WS-Management (WSMan) e com o padrão Common Information Model (CIM), que permite que os cmdlets usem as mesmas técnicas para gerenciar computadores que executam o sistema operacional Windows e aqueles que executam outros sistemas operacionais. Em vez de usar Remove-WmiObject, considere usar o cmdlet Remove-CimInstance.

Quando você usa o parâmetro AsJob , o comando retorna um objeto que representa o trabalho em segundo plano e, em seguida, exibe o prompt de comando. É possível continuar a trabalhar na sessão enquanto o trabalho é concluído. Se Remove-WmiObject for usado em um computador remoto, o trabalho será criado no computador local e os resultados dos computadores remotos serão retornados automaticamente ao computador local. Para gerenciar o trabalho, use os cmdlets que contêm o substantivo Job (os cmdlets Job ). Para obter os resultados do trabalho, use o Receive-Job cmdlet.

Para usar esse parâmetro para computadores remotos, os computadores locais e remotos devem ser configurados para comunicação remota. Inicie o Windows PowerShell usando a opção Executar como administrador. Para obter mais informações, confira about_Remote_Requirements.

Para obter mais informações sobre trabalhos em segundo plano do Windows PowerShell, consulte about_Jobs e about_Remote_Jobs.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Authentication

Especifica o nível de autenticação a ser usado para a conexão WMI. Os valores aceitáveis para esse parâmetro são:

  • -1:Inalterado.
  • 0: Padrão.
  • 1:Nenhum. Nenhuma autenticação é executada.
  • 2:Ligar. A autenticação é executada somente quando o cliente estabelece uma relação com o aplicativo.
  • 3:Chamar. A autenticação é executada somente no início de cada chamada, quando o aplicativo recebe a solicitação.
  • 4:Pacote. A autenticação é executada em todos os dados recebidos do cliente.
  • 5: PacketIntegrity. Todos os dados transferidos entre o cliente e o aplicativo são autenticados e verificados.
  • 6: PacketPrivacy. As propriedades dos outros níveis de autenticação são usadas e todos os dados são criptografados.
Tipo:AuthenticationLevel
Valores aceitos:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Authority

Especifica a autoridade a ser usada para autenticar a conexão WMI. É possível especificar uma autenticação padrão NTLM ou Kerberos. Para usar o NTLM, defina a configuração de autoridade como ntlmdomain:<DomainName>, em que <DomainName> identifica um nome de domínio NTLM válido. Para usar o Kerberos, especifique kerberos:<DomainName>\<ServerName>. Não é possível, ao conectar-se ao computador local, incluir a configuração da autoridade.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Class

Especifica o nome de uma classe WMI que esse cmdlet exclui.

Tipo:String
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ComputerName

Especifica o nome do computador no qual esse cmdlet é executado. O padrão é o computador local.

Digite o nome NetBIOS, um endereço IP ou um nome de domínio totalmente qualificado de um ou mais computadores. Para especificar o computador local, digite o nome do computador, um ponto (.) ou localhost.

Esse parâmetro não depende da comunicação remota do Windows PowerShell. Você pode usar o parâmetro ComputerName mesmo que o computador não esteja configurado para executar comandos remotos.

Tipo:String[]
Aliases:Cn
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Credential

Especifica uma conta de usuário que tem permissão para executar esta ação. O padrão é o usuário atual.

Digite um nome de usuário, como User01 ou Domain01\User01, ou insira um objeto PSCredential , como um gerado pelo Get-Credential cmdlet. Se você digitar um nome de usuário, esse cmdlet solicitará uma senha.

Tipo:PSCredential
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-EnableAllPrivileges

Indica que esse cmdlet habilita todas as permissões do usuário atual antes que o comando faça a chamada WMI.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Impersonation

Especifica o nível de representação a ser usado. Os valores aceitáveis para esse parâmetro são:

  • 0: Padrão. Lê o registro local para o nível de representação padrão, que geralmente é definido como 3: Representar.
  • 1:Anônimo. Oculta as credenciais do autor da chamada.
  • 2:Identificar. Permite que os objetos consultem as credenciais do autor da chamada.
  • 3:Personificar. Permite que os objetos utilizem as credenciais do autor da chamada.
  • 4:Delegar. Autoriza que os objetos permitam que outros objetos utilizem as credenciais do autor da chamada.
Tipo:ImpersonationLevel
Valores aceitos:Default, Anonymous, Identify, Impersonate, Delegate
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InputObject

Especifica um objeto ManagementObject a ser usado como entrada. Quando esse parâmetro é utilizado, todos os outros parâmetros são ignorados.

Tipo:ManagementObject
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Locale

Especifica o local preferido para objetos WMI. O parâmetro Locale é especificado como uma matriz no formato MS_<LCID> na ordem preferencial.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Namespace

Especifica o namespace do repositório WMI em que a classe WMI referenciada está localizada quando é usada com o parâmetro Class .

Tipo:String
Aliases:NS
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Path

Especifica o caminho do objeto WMI de uma classe WMI ou especifica o caminho do objeto WMI de uma instância de uma classe WMI para exclusão.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ThrottleLimit

Especifica o número máximo de conexões simultâneas que podem ser estabelecidas para executar o comando. Esse parâmetro é usado junto com o parâmetro AsJob . O limite de aceleração aplica-se somente ao comando atual e não à sessão ou ao computador.

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

ManagementObject

Você pode canalizar um objeto de gerenciamento para esse cmdlet.

Saídas

None, System.Management.Automation.RemotingJob

Esse cmdlet retornará um objeto de trabalho, se você especificar o parâmetro AsJob . Caso contrário, ele não gera nenhuma saída.

Observações

O Windows PowerShell inclui os seguintes aliases para Remove-WmiObject:

  • rwmi