Set-WmiInstance
Cria ou atualiza uma instância de uma classe WMI (Instrumentação de Gerenciamento do Windows) existente.
Sintaxe
Set-WmiInstance [-Class] <string> [[-Arguments] <hashtable>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-WmiInstance [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-WmiInstance -InputObject <ManagementObject> [-Arguments <hashtable>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-WmiInstance -Path <string> [-Arguments <hashtable>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-WmiInstance [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-WmiInstance [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Descrição
O cmdlet Set-WmiInstance cria ou atualiza uma instância de uma classe WMI existente. A instância criada ou atualizada é gravada no repositório WMI.
Parâmetros
-Arguments <hashtable>
Especifica o nome da propriedade a ser alterada e o novo valor da propriedade. O nome e o valor devem estar em um par nome-valor. O par nome-valor é transmitido na linha de comando como uma tabela de hash. Por exemplo:
-argument @{Setting1=1; Setting2=5; Setting3="test"}.
Necessário? |
false |
Posição? |
2 |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-AsJob
Executa o comando como um trabalho em segundo plano. Use este parâmetro para executar comandos que demoram a ser concluídos.
Quando você usa o parâmetro AsJob, o comando retorna um objeto que representa o trabalho de segundo plano e, em seguida, exibe o prompt de comando. É possível continuar a trabalhar na sessão enquanto o trabalho é concluído. Se Set-WmiObject for usado em relação a um computador remoto, o trabalho será criado no computador local e os resultados dos computadores remotos serão automaticamente retornados para o computador local. Para gerenciar o trabalho, use os cmdlets que contêm o nome Job (os cmdlets Job). Para obter os resultados do trabalho, use o cmdlet Receive-Job.
Observação: para usar esse parâmetro com computadores remotos, os computadores local e remoto deverão ser configurados para comunicação remota. Além disso, você precisa iniciar o Windows PowerShell usando a opção "Executar como administrador" no Windows Vista e em versões mais recentes do Windows. Para obter mais informações, consulte about_Remote_Requirements.
Para obter mais informações sobre os trabalhos em segundo plano do Windows PowerShell, consulte about_Jobs e about_Remote_Jobs.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Authentication <AuthenticationLevel>
Especifica o nível de autenticação a ser usado com a conexão WMI. Os valores válidos são:
-1: Unchanged
0: Default
1: None (nenhuma autenticação é executada)
2: Connect (a autenticação é executada somente quando o cliente estabelece um relacionamento com o aplicativo)
3: Call (a autenticação é executada somente no início de cada chamada, quando o aplicativo recebe a solicitação)
4: Packet (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)
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Authority <string>
Especifica a autoridade a ser usada para autenticar a conexão WMI. Você pode especificar a autenticação padrão NTLM ou Kerberos. Para usar NTLM, defina a configuração de autoridade como ntlmdomain:<DomainName>, em que <DomainName> identifica um nome de domínio NTLM válido. Para usar Kerberos, especifique kerberos:<DomainName>\<ServerName>". Você não pode incluir a configuração de autoridade quando estiver conectado ao computador local.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Class <string>
Especifica o nome de uma classe WMI.
Necessário? |
true |
Posição? |
1 |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-ComputerName <string[]>
Especifica o computador em relação ao qual você deseja executar a operação de gerenciamento. O valor pode ser um nome de domínio totalmente qualificado, um nome NetBIOS ou um endereço IP. Use o nome do computador local, o host local ou um ponto (.) para especificar o computador local. O padrão é o computador local. Quando o computador remoto está em um domínio diferente do usuário, um nome de domínio totalmente qualificado deve ser usado. Você pode definir o valor deste parâmetro enviando-o ao parâmetro.
Este parâmetro não se baseia na comunicação remota do Windows PowerShell, que usa WS-Management. Você pode usar o parâmetro ComputerName de Get-WmiObject mesmo que o seu computador não esteja configurado para executar comandos remotos do WS-Management.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Credential <PSCredential>
Especifica uma conta de usuário com permissão para executar essa ação. O padrão é o usuário atual. Digite um nome de usuário, como “User01”, “Domain01\User01” ou User@Contoso.com. Ou, insira um objeto PSCredential, como aquele retornado pelo cmdlet Get-Credential. Quando você digitar um nome de usuário, uma senha será solicitada.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-EnableAllPrivileges
Habilita todos os privilégios do usuário atual antes de o comando fazer a chamada WMI.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Impersonation <ImpersonationLevel>
Especifica o nível de representação a ser usado. Os valores válidos são:
0: Default (lê o Registro local para o nível de representação padrão, que é normalmente definido como "3: Impersonate")
1: Anonymous (oculta as credenciais do chamador)
2: Identify (permite que os objetos consultem as credenciais do chamador)
3: Impersonate (permite que os objetos usem as credenciais do chamador)
4: Delegate (permite que objetos autorizem outros objetos a usarem as credenciais do chamador)
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-InputObject <ManagementObject>
Especifica um objeto ManagementObject a ser usado como entrada. Quando esse parâmetro é usado, todos os outros parâmetros, exceto Arguments, são ignorados.
Necessário? |
true |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByValue) |
Aceitar caracteres curinga? |
false |
-Locale <string>
Especifica a localidade preferencial para objetos WMI. O parâmetro Locale é especificado em uma matriz do formato MS_<LCID> na ordem preferencial.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Namespace <string>
Quando usado com o parâmetro Class, esse parâmetro especifica o namespace do repositório WMI onde a classe WMI referenciada está localizada.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Path <string>
Especifica um caminho de objeto WMI para a instância que deseja criar ou atualizar.
Necessário? |
true |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-PutType <PutType>
Indica se a instância WMI deve ser criada ou atualizada. Os valores válidos são:
UpdateOnly: atualiza uma instância WMI existente.
CreateOnly: cria uma nova instância WMI.
UpdateOrCreate: atualiza uma instância WMI, se houver; caso contrário, cria uma nova instância.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-ThrottleLimit <int>
Permite que o usuário especifique um valor de limitação para o número de operações WMI que podem ser executadas simultaneamente. Este parâmetro é usado com o parâmetro AsJob. O limite se aplica somente ao comando atual, não à sessão ou ao computador.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Confirm
Solicita confirmação antes da execução do comando.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-WhatIf
Descreve o que aconteceria se você executasse o comando, sem executá-lo de fato.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas |
Nenhum Esse cmdlet não aceita entrada. |
Saídas |
Nenhum Este cmdlet não gera nenhuma saída. |
Exemplo 1
C:\PS>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 :
Descrição
-----------
Esse comando define o nível de log WMI como 2. O comando transmite a propriedade a ser definida e o valor (juntos como um par de valor) no parâmetro de argumento. O parâmetro obtém uma tabela de hash que é definida pela construção @{property = value}. As informações da classe retornada refletem o novo valor.
Exemplo 2
C:\PS>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
Descrição
-----------
Esse comando cria a variável de ambiente testvar que tem o valor “testvalue”. Ele faz isso criando uma nova instância da classe Win32_Environment de WMI. Observe que 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
C:\PS>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 :
...
Descrição
-----------
Esse comando define o nível de log WMI como 2. O comando transmite a propriedade a ser definida e o valor (juntos como um par de valor) no parâmetro de argumento. O parâmetro obtém uma tabela de hash que é definida pela construção @{property = value}. As informações da classe retornada refletem o novo valor.
Consulte também
Conceitos
Get-WmiObject
Invoke-WmiMethod
Remove-WmiObject
Get-WSManInstance
Invoke-WSManAction
New-WSManInstance
Remove-WSManInstance