Set-WmiInstance
Cria ou atualiza uma instância de uma classe existente do WMI (Instrumentação de Gerenciamento do Windows).
Sintaxe
Set-WmiInstance
[-Class] <String>
[-Arguments <Hashtable>]
[-PutType <PutType>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-WmiInstance
-InputObject <ManagementObject>
[-Arguments <Hashtable>]
[-PutType <PutType>]
[-AsJob]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-WmiInstance
-Path <String>
[-Arguments <Hashtable>]
[-PutType <PutType>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-WmiInstance
[-PutType <PutType>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-WmiInstance
[-PutType <PutType>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-WmiInstance
[-PutType <PutType>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O Set-WmiInstance
cmdlet cria ou atualiza uma instância de uma classe WMI (Instrumentação de Gerenciamento do Windows) existente. A instância criada ou atualizada é gravada no repositório do WMI.
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). isso permite que os cmdlets usem as mesmas técnicas para gerenciar computadores baseados no Windows e aqueles que executam outros sistemas operacionais. Em vez de usar Set-WmiInstance
, considere usar os cmdlets Set-CimInstance ou New-CimInstance .
Exemplos
Exemplo 1: Definir o nível de log do WMI
Set-WmiInstance -Class Win32_WMISetting -Argument @{LoggingLevel=2}
__GENUS : 2
__CLASS : Win32_WMISetting
__SUPERCLASS : CIM_Setting
__DYNASTY : CIM_Setting
__RELPATH : Win32_WMISetting=@
__PROPERTY_COUNT : 27
__DERIVATION : {CIM_Setting}
__SERVER : SYSTEM01
__NAMESPACE : root\cimv2
__PATH : \\SYSTEM01\root\cimv2:Win32_WMISetting=@
ASPScriptDefaultNamespace : \\root\cimv2
ASPScriptEnabled : False
AutorecoverMofs : {%windir%\system32\wbem\cimwin32.mof, %windir%\system32\wbem\ncprov.mof, %windir%\syst
em32\wbem\wmipcima.mof, %windir%\system32\wbem\secrcw32.mof...}
AutoStartWin9X :
BackupInterval :
BackupLastTime :
BuildVersion : 6001.18000
Caption :
DatabaseDirectory : C:\Windows\system32\wbem\repository
DatabaseMaxSize :
Description :
EnableAnonWin9xConnections :
EnableEvents : False
EnableStartupHeapPreallocation : False
HighThresholdOnClientObjects :
HighThresholdOnEvents : 20000000
InstallationDirectory : C:\Windows\system32\wbem
LastStartupHeapPreallocation :
LoggingDirectory : C:\Windows\system32\wbem\Logs\
LoggingLevel : 2
LowThresholdOnClientObjects :
LowThresholdOnEvents : 10000000
MaxLogFileSize : 65536
MaxWaitOnClientObjects :
MaxWaitOnEvents : 2000
MofSelfInstallDirectory :
SettingID :
Esse comando define o nível de log do WMI como 2. O comando passa a propriedade a ser definida e o valor, juntos considerados um par de valores, no parâmetro argumento. O parâmetro usa uma tabela de hash que é definida pela @{property = value}
construção. As informações de classe que são retornadas refletem o novo valor.
Exemplo 2: Criar uma variável de ambiente e seu valor
Set-WmiInstance -Class win32_environment -Argument @{Name="testvar";VariableValue="testvalue";UserName="<SYSTEM>"}
__GENUS : 2
__CLASS : Win32_Environment
__SUPERCLASS : CIM_SystemResource
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_Environment.Name="testvar",UserName="<SYSTEM>"
__PROPERTY_COUNT : 8
__DERIVATION : {CIM_SystemResource, CIM_LogicalElement, CIM_ManagedSystemElement}
__SERVER : SYSTEM01
__NAMESPACE : root\cimv2
__PATH : \\SYSTEM01\root\cimv2:Win32_Environment.Name="testvar",UserName="<SYSTEM>"
Caption : <SYSTEM>\testvar
Description : <SYSTEM>\testvar
InstallDate :
Name : testvar
Status : OK
SystemVariable : True
UserName : <SYSTEM>
VariableValue : testvalue
Esse comando cria a variável de ambiente testvar que tem o valor testvalue. Ele faz isso criando uma nova instância da classe WMI Win32_Environment . Essa operação requer credenciais apropriadas e que talvez seja necessário reiniciar o Windows PowerShell para ver a nova variável de ambiente.
Exemplo 3: Definir o nível de log do WMI para vários computadores remotos
Set-WmiInstance -Class Win32_WMISetting -Argument @{LoggingLevel=2} -Computername "system01", "system02", "system03"
__GENUS : 2
__CLASS : Win32_WMISetting
__SUPERCLASS : CIM_Setting
__DYNASTY : CIM_Setting
__RELPATH : Win32_WMISetting=@
__PROPERTY_COUNT : 27
__DERIVATION : {CIM_Setting}
__SERVER : SYSTEM01
__NAMESPACE : root\cimv2
__PATH : \\SYSTEM01\root\cimv2:Win32_WMISetting=@
ASPScriptDefaultNamespace : \\root\cimv2
ASPScriptEnabled : False
AutorecoverMofs : {%windir%\system32\wbem\cimwin32.mof, %windir%\system32\wbem\ncprov.mof, %windir%\syst
em32\wbem\wmipcima.mof, %windir%\system32\wbem\secrcw32.mof...}
AutoStartWin9X :
BackupInterval :
BackupLastTime :
BuildVersion : 6001.18000
Caption :
DatabaseDirectory : C:\Windows\system32\wbem\repository
DatabaseMaxSize :
Description :
EnableAnonWin9xConnections :
EnableEvents : False
EnableStartupHeapPreallocation : False
HighThresholdOnClientObjects :
HighThresholdOnEvents : 20000000
InstallationDirectory : C:\Windows\system32\wbem
LastStartupHeapPreallocation :
LoggingDirectory : C:\Windows\system32\wbem\Logs\
LoggingLevel : 2
LowThresholdOnClientObjects :
LowThresholdOnEvents : 10000000
MaxLogFileSize : 65536
MaxWaitOnClientObjects :
MaxWaitOnEvents : 2000
MofSelfInstallDirectory :
SettingID :
...
Esse comando define o nível de log do WMI como 2. O comando passa a propriedade a ser definida e o valor, juntos considerados um par de valores, no parâmetro argumento. O parâmetro usa uma tabela de hash que é definida pela @{property = value}
construção. As informações de classe retornadas refletem o novo valor.
Parâmetros
-Arguments
Especifica o nome da propriedade a ser alterado e o novo valor para essa propriedade. O nome e o valor devem ser um par nome-valor. O par nome-valor é passado na linha de comando como uma tabela de hash. Por exemplo:
@{Setting1=1; Setting2=5; Setting3="test"}
Tipo: | Hashtable |
Aliases: | Args, Property |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-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.
Quando você especifica 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 for usado para um computador remoto, o trabalho será criado no computador local e os resultados dos computadores remotos serão retornados automaticamente para o 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 junto com computadores remotos, os computadores locais e remotos devem ser configurados para comunicação remota. Além disso, você deve iniciar o Windows PowerShell usando a opção Executar como administrador no Windows Vista e versões posteriores do sistema operacional Windows. 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 que deve ser usado com 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.
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 cmdlet Get-Credential. Se você digitar um nome de usuário, esse cmdlet solicitará uma senha.
Esse parâmetro não tem suporte para nenhum provedor instalado com o parâmetro não é compatível com nenhum provedor instalado com o Windows PowerShell.
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 é usado, todos os outros parâmetros, exceto o parâmetro Argumentos , 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 em 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 um caminho de objeto WMI da instância que você deseja criar ou atualizar.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-PutType
Indica se a instância WMI deve ser criada ou atualizada. Os valores aceitáveis para esse parâmetro são:
UpdateOnly
Atualiza uma instância WMI existente.CreateOnly
Cria uma nova instância WMI.UpdateOrCreate
Atualiza a instância WMI se ela existir ou cria uma nova instância se uma instância não existir.
Tipo: | PutType |
Valores aceitos: | None, UpdateOnly, CreateOnly, UpdateOrCreate |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
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
None
Esse cmdlet não aceita nenhuma entrada.
Saídas
None
Esse cmdlet não gera saída.
Observações
O Windows PowerShell inclui os seguintes aliases para Set-WmiInstance
:
swmi