Compartir a través de


Set-WmiInstance

Crea o actualiza una instancia de una clase de Instrumental de administración de Windows (WMI) existente.

Sintaxis

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

El cmdlet Set-WmiInstance crea o actualiza una instancia de una clase de Instrumental de administración de Windows (WMI) existente. La instancia creada o actualizada se escribe en el repositorio WMI.

Los nuevos cmdlets CIM, introducidos en Windows PowerShell 3.0, realizan las mismas tareas que los cmdlets de WMI. Los cmdlets CIM cumplen con los estándares WS-Management (WSMan) y con el estándar Common Information Model (CIM). Esto permite a los cmdlets usar las mismas técnicas para administrar equipos basados en Windows y aquellos que ejecutan otros sistemas operativos. En lugar de usar Set-WmiInstance, considere la posibilidad de usar el Set-CimInstance o cmdlets new-CimInstance.

Ejemplos

Ejemplo 1: Establecer el nivel de registro de WMI

PS C:\> 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                      :

Este comando establece el nivel de registro de WMI en 2. El comando pasa la propiedad que se va a establecer y el valor, juntos considerados un par de valores, en el parámetro argument. El parámetro toma una tabla hash definida por la construcción @{property = value}. La información de clase que se devuelve refleja el nuevo valor.

Ejemplo 2: Creación de una variable de entorno y su valor

PS C:\> 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

Este comando crea la variable de entorno testvar que tiene el valor testvalue. Para ello, crea una nueva instancia de la clase WMI de Win32_Environment. Esta operación requiere credenciales adecuadas y es posible que tenga que reiniciar Windows PowerShell para ver la nueva variable de entorno.

Ejemplo 3: Establecer el nivel de registro de WMI para varios equipos remotos

PS C:\> 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                      :
...

Este comando establece el nivel de registro de WMI en 2. El comando pasa la propiedad que se va a establecer y el valor, juntos considerados un par de valores, en el parámetro argument. El parámetro toma una tabla hash definida por la construcción @{property = value}. La información de clase devuelta refleja el nuevo valor.

Parámetros

-Arguments

Especifica el nombre de la propiedad que se va a cambiar y el nuevo valor de esa propiedad. El nombre y el valor deben ser un par nombre-valor. El par nombre-valor se pasa en la línea de comandos como una tabla hash. Por ejemplo:

@{Setting1=1; Setting2=5; Setting3="test"}

Tipo:Hashtable
Alias:Args, Property
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-AsJob

Indica que este cmdket se ejecuta como un trabajo en segundo plano. Use este parámetro para ejecutar comandos que tardan mucho tiempo en finalizar.

Al especificar el parámetro asJob, el comando devuelve un objeto que representa el trabajo en segundo plano y, a continuación, muestra el símbolo del sistema. Puede continuar trabajando en la sesión mientras finaliza el trabajo. Si set-WmiInstance se usa para un equipo remoto, el trabajo se crea en el equipo local y los resultados de los equipos remotos se devuelven automáticamente al equipo local. Para administrar el trabajo, use los cmdlets que contienen el nombre de Job (los cmdlets Job ). Para obtener los resultados del trabajo, use el cmdlet Receive-Job.

Para usar este parámetro junto con equipos remotos, los equipos locales y remotos deben configurarse para la comunicación remota. Además, debe iniciar Windows PowerShell mediante la opción Ejecutar como administrador en Windows Vista y versiones posteriores del sistema operativo Windows. Para obtener más información, consulte about_Remote_Requirements.

Para obtener más información sobre los trabajos en segundo plano de Windows PowerShell, consulte about_Jobs y about_Remote_Jobs.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Authentication

Especifica el nivel de autenticación que se debe usar con la conexión WMI. Los valores aceptables para este parámetro son:

  • -1: Sin cambios.
  • 0: Valor predeterminado.
  • 1: Ninguno. No se realiza ninguna autenticación.
  • 2: Conectar. La autenticación solo se realiza cuando el cliente establece una relación con la aplicación.
  • 3: Llamada. La autenticación solo se realiza al principio de cada llamada cuando la aplicación recibe la solicitud.
  • 4: Paquete. La autenticación se realiza en todos los datos que se reciben del cliente.
  • 5: PacketIntegrity. Todos los datos que se transfieren entre el cliente y la aplicación se autentican y comprueban.
  • 6: PacketPrivacy. Se usan las propiedades de los demás niveles de autenticación y todos los datos se cifran.
Tipo:AuthenticationLevel
Valores aceptados:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Authority

Especifica la autoridad que se va a usar para autenticar la conexión WMI. Puede especificar la autenticación NTLM o Kerberos estándar. Para usar NTLM, establezca la configuración de autoridad en ntlmdomain:<DomainName>, donde <DomainName> identifica un nombre de dominio NTLM válido. Para usar Kerberos, especifique kerberos:<DomainName>\<ServerName>. No puede incluir la configuración de autoridad al conectarse al equipo local.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Class

Especifica el nombre de una clase WMI.

Tipo:String
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ComputerName

Especifica el nombre del equipo en el que se ejecuta este cmdlet. El valor predeterminado es el equipo local.

Escriba el nombre NetBIOS, una dirección IP o un nombre de dominio completo de uno o varios equipos. Para especificar el equipo local, escriba el nombre del equipo, un punto (.) o localhost.

Este parámetro no se basa en la comunicación remota de Windows PowerShell. Puede usar el parámetro ComputerName incluso si el equipo no está configurado para ejecutar comandos remotos.

Tipo:String[]
Alias:Cn
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Credential

Especifica una cuenta de usuario que tiene permiso para realizar esta acción. El valor predeterminado es el usuario actual.

Escriba un nombre de usuario, como User01 o Domain01\User01, o escriba un objeto de PSCredential, como uno generado por el cmdlet Get-Credential. Si escribe un nombre de usuario, este cmdlet solicita una contraseña.

Ningún proveedor instalado con el parámetro no admite este parámetro instalado con ningún proveedor instalado con Windows PowerShell.

Tipo:PSCredential
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-EnableAllPrivileges

Indica que este cmdlet habilita todos los permisos del usuario actual antes del comando que realiza la llamada WMI.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Impersonation

Especifica el nivel de suplantación que se va a usar. Los valores aceptables para este parámetro son:

  • 0: Valor predeterminado. Lee el registro local para el nivel de suplantación predeterminado, que normalmente se establece en 3: Suplantar.
  • 1: Anónimo. Oculta las credenciales del autor de la llamada.
  • 2: Identificar. Permite a los objetos consultar las credenciales del autor de la llamada.
  • 3: Suplantar. Permite que los objetos usen las credenciales del autor de la llamada.
  • 4: Delegado. Permite a los objetos permitir que otros objetos usen las credenciales del autor de la llamada.
Tipo:ImpersonationLevel
Valores aceptados:Default, Anonymous, Identify, Impersonate, Delegate
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-InputObject

Especifica un objeto ManagementObject que se va a usar como entrada. Cuando se usa este parámetro, se omiten todos los demás parámetros, excepto el parámetro Argumentos.

Tipo:ManagementObject
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Locale

Especifica la configuración regional preferida para los objetos WMI. El parámetro Configuración regional se especifica en una matriz en el formato LCID de MS_en el orden preferido.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Namespace

Especifica el espacio de nombres del repositorio WMI donde se encuentra la clase WMI a la que se hace referencia cuando se usa con el parámetro Class.

Tipo:String
Alias:NS
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Path

Especifica una ruta de acceso de objeto WMI de la instancia que desea crear o actualizar.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-PutType

Indica si se va a crear o actualizar la instancia de WMI. Los valores aceptables para este parámetro son:

  • UpdateOnly. Actualiza una instancia de WMI existente.
  • CreateOnly. Crea una nueva instancia de WMI.
  • UpdateOrCreate. Actualiza la instancia de WMI si existe o crea una nueva instancia si no existe una instancia.
Tipo:PutType
Valores aceptados:None, UpdateOnly, CreateOnly, UpdateOrCreate
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ThrottleLimit

Especifica el número máximo de conexiones simultáneas que se pueden establecer para ejecutar este comando. Este parámetro se usa junto con el parámetro de AsJob. El límite solo se aplica al comando actual, no a la sesión o al equipo.

Tipo:Int32
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-WhatIf

Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

None

Este cmdlet no acepta entradas.

Salidas

None

Este cmdlet no genera resultados.