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

Sintaxis

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

Descripción

El cmdlet Set-WmiInstance crea o actualiza una instancia de una clase existente de WMI. La instancia creada o actualizada se escribe en el repositorio de WMI.

Parámetros

-Arguments <hashtable>

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

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

¿Requerido?

false

¿Posición?

2

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-AsJob

Ejecuta el comando como un trabajo en segundo plano. Use este parámetro para ejecutar comandos que tardan mucho tiempo en completarse.

Cuando se utiliza 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 seguir trabajando en la sesión mientras se completa el trabajo. Si se utiliza Set-WmiObject en 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, utilice los cmdlets que contienen el nombre Job (cmdlets Job). Para obtener los resultados del trabajo, use el cmdlet Receive-Job.

Nota: para utilizar este parámetro en equipos remotos, los equipos locales y remotos deben estar configurados para la comunicación remota. Además, debe iniciar Windows PowerShell con la opción "Ejecutar como administrador" en Windows Vista y versiones posteriores de Windows. Para obtener más información, vea about_Remote_Requirements.

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

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Authentication <AuthenticationLevel>

Especifica el nivel de autenticación que se va a utilizar con la conexión de WMI. Los valores válidos son:

-1: Unchanged

0: Default

1: None (no se realiza ninguna autenticación).

2: Connect (la autenticación se realiza solo cuando el cliente establece una relación con la aplicación).

3: Call (la autenticación se realiza solo al comienzo de cada llamada cuando la aplicación recibe la solicitud).

4: Packet (se autentican todos los datos que se reciben del cliente).

5: PacketIntegrity (se autentican y se comprueban todos los datos que se transfieren entre el cliente y la aplicación).

6: PacketPrivacy (se utilizan las propiedades de los demás niveles de autenticación y se cifran todos los datos).

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Authority <string>

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

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Clase <string>

Especifica el nombre de una clase de WMI.

¿Requerido?

true

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-ComputerName <string[]>

Especifica el equipo en el que se desea ejecutar la operación de administración. El valor puede ser un nombre de dominio completo, un nombre NetBIOS o una dirección IP. Use el nombre del equipo local, localhost, o bien, un punto (.) para especificar el equipo local. El equipo local es el valor predeterminado. Cuando el equipo remoto está en un dominio diferente que el usuario, debe usar un nombre de dominio completo. Puede establecer el valor de este parámetro canalizando el valor al parámetro.

Este parámetro no se basa en la comunicación remota de Windows PowerShell, que utiliza WS-Management. Puede usar el parámetro ComputerName de Get-WmiObject incluso si el equipo no está configurado para la ejecución de comandos remotos de WS-Management.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Credential <PSCredential>

Especifica una cuenta de usuario con permiso para realizar esta acción. El valor predeterminado es el usuario actual. Escriba un nombre de usuario, como "Usuario01", "Dominio01\Usuario01" o "Usuario@Contoso.com". O bien, escriba un objeto PSCredential, como el objeto devuelto por el cmdlet Get-Credential. Cuando escriba un nombre de usuario, se le solicitará una contraseña.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-EnableAllPrivileges

Habilita todos los privilegios del usuario actual antes de que el comando realice la llamada a WMI.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Impersonation <ImpersonationLevel>

Especifica el nivel de suplantación que se va a usar. Los valores válidos son:

0: Default (lee el Registro local para determinar el nivel de suplantación predeterminado, que suele estar establecido en "3: Impersonate").

1: Anonymous (oculta las credenciales del autor de la llamada).

2: Identify (permite que los objetos consulten las credenciales del autor de la llamada).

3: Impersonate (permite a los objetos utilizar las credenciales del autor de la llamada).

4: Delegate (permite que los objetos dejen que otros objetos usen las credenciales del autor de la llamada).

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-InputObject <ManagementObject>

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

¿Requerido?

true

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

true (ByValue)

¿Aceptar caracteres comodín?

false

-Locale <string>

Especifica la configuración regional preferida para los objetos de WMI. El parámetro Locale se especifica en una matriz con el formato MS_<LCID> en el orden preferido.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Namespace <string>

Si se usa con el parámetro Class, este parámetro especifica el espacio de nombres del repositorio de WMI donde se encuentra la clase de WMI a la que se hace referencia.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Path <string>

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

¿Requerido?

true

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-PutType <PutType>

Indica si la instancia de WMI se debe crear o actualizar. Los valores válidos 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 si no existe.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-ThrottleLimit <int>

Permite al usuario especificar un valor de límite para el número de operaciones de WMI que se pueden ejecutar de manera simultánea. Este parámetro se utiliza con el parámetro AsJob. Este límite se aplica únicamente al comando actual; no se aplica a la sesión ni al equipo.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Confirm

Solicita confirmación antes de ejecutar el comando.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-WhatIf

Describe lo que ocurriría si se ejecutara el comando sin ejecutarlo realmente.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

<CommonParameters>

Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.

Entradas y salidas

El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.

Entradas

Ninguno

Este cmdlet no acepta ninguna entrada.

Salidas

Ninguno

Este cmdlet no genera resultados.

Ejemplo 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                      :

Descripción
-----------
Este comando establece el nivel de registro de WMI en 2. El comando pasa la propiedad que se debe establecer y el valor (considerados juntos como un par de valor) en el parámetro de argumento. El parámetro toma una tabla hash que está definida por la construcción @{property = value}. La información de clase que se devuelve refleja el nuevo valor.






Ejemplo 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

Descripción
-----------
Este comando crea la variable de entorno testvar que tiene el valor "testvalue". Para ello crea una nueva instancia de la clase Win32_Environment WMI. Observe que esta operación requiere credenciales apropiadas y que puede ser necesario reiniciar Windows PowerShell para ver la nueva variable de entorno.






Ejemplo 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                      :

...

Descripción
-----------
Este comando establece el nivel de registro de WMI en 2. El comando pasa la propiedad que se debe establecer y el valor (considerados juntos como un par de valor) en el parámetro de argumento. El parámetro toma una tabla hash que está definida por la construcción @{property = value}. La información de clase devuelta refleja el nuevo valor.






Vea también




Tabla de contenido