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