Set-CimInstance
Modifica un'istanza CIM in un server CIM chiamando il metodo ModifyInstance della classe CIM.
Sintassi
Set-CimInstance
[-ComputerName <String[]>]
[-ResourceUri <Uri>]
[-OperationTimeoutSec <UInt32>]
[-InputObject] <CimInstance>
[-Property <IDictionary>]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-CimInstance
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-OperationTimeoutSec <UInt32>]
[-InputObject] <CimInstance>
[-Property <IDictionary>]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-CimInstance
-CimSession <CimSession[]>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Query] <String>
[-QueryDialect <String>]
-Property <IDictionary>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-CimInstance
[-ComputerName <String[]>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Query] <String>
[-QueryDialect <String>]
-Property <IDictionary>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Questo cmdlet è disponibile solo nella piattaforma Windows.
Questo cmdlet modifica un'istanza CIM in un server CIM.
Se il parametro InputObject non viene specificato, il cmdlet funziona in uno dei modi seguenti:
- Se non viene specificato né il parametro ComputerName né il parametro CimSession , questo cmdlet funziona in Strumentazione gestione Windows locale (WMI) usando una sessione COM (Component Object Model).
- Se viene specificato il parametro ComputerName o il parametro CimSession, questo cmdlet funziona sul server CIM specificato dal parametro ComputerName o dal parametro CimSession.
Se si specifica il parametro InputObject , il cmdlet funziona in uno dei modi seguenti:
- Se non viene specificato né il parametro ComputerName né il parametro CimSession , questo cmdlet usa la sessione CIM o il nome del computer dall'oggetto di input.
- Se viene specificato il parametro ComputerName o il parametro CimSession, questo cmdlet usa il valore del parametro CimSession o il valore del parametro ComputerName. Questo non è molto comune.
Esempio
Esempio 1: Impostare l'istanza CIM
In questo esempio il valore della proprietà VariableValue viene impostato su abcd usando il parametro Query . È possibile modificare le istanze corrispondenti a una query WQL (Windows Management Instrumentation Query Language).
Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"}
Esempio 2: Impostare la proprietà dell'istanza CIM usando la pipeline
In questo esempio viene recuperato l'oggetto istanza CIM filtrato in base al parametro Query usando il Get-CimInstance
cmdlet . Il Set-CimInstance
cmdlet modifica il valore della proprietà VariableValue in abcd.
Get-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' |
Set-CimInstance -Property @{VariableValue="abcd"}
Esempio 3: Impostare la proprietà dell'istanza CIM usando l'oggetto di input
$x = Get-CimInstance -Query 'Select * from Win32_Environment where Name="testvar"'
Set-CimInstance -InputObject $x -Property @{VariableValue="somevalue"} -PassThru
In questo esempio vengono recuperati gli oggetti dell'istanza CIM filtrati in base al parametro Query in a una variabile $x
usando Get-CimInstance
e quindi passa il contenuto della variabile al Set-CimInstance
cmdlet . Set-CimInstance
modifica quindi la proprietà VariableValue in somevalue. Poiché viene utilizzato il parametro PassThru , in questo esempio viene restituito un oggetto istanza CIM modificato.
Esempio 4: Impostare la proprietà dell'istanza CIM
In questo esempio viene recuperato l'oggetto istanza CIM specificato nel parametro Query in una variabile $x
usando il Get-CimInstance
cmdlet e viene modificato il valore della proprietà VariableValue dell'oggetto da modificare. L'oggetto istanza CIM viene quindi salvato usando il Set-CimInstance
cmdlet .
Poiché viene utilizzato il parametro PassThru , in questo esempio viene restituito un oggetto istanza CIM modificato.
$x = Get-CimInstance -Query 'Select * from Win32_Environment where name="testvar"'
$x.VariableValue = "Change"
Set-CimInstance -CimInstance $x -PassThru
Esempio 5: Visualizzare l'elenco di istanze CIM da modificare usando WhatIf
In questo esempio viene usato il parametro comune WhatIf per specificare che la modifica non deve essere eseguita, ma restituisce solo ciò che accadrebbe se fosse stato fatto.
Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -WhatIf
Esempio 6: Impostare l'istanza CIM dopo la conferma dell'utente
In questo esempio viene usato il parametro comune Confirm per specificare che la modifica deve essere eseguita solo dopo la conferma dell'utente.
Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -Confirm
Esempio 7: Impostare l'istanza CIM creata
Questo esempio crea un'istanza CIM con le proprietà specificate usando il New-CimInstance
cmdlet e recupera il relativo contenuto in in una variabile $x
. La variabile viene quindi passata al Set-CimInstance
cmdlet , che modifica il valore della proprietà VariableValue in somevalue.
Poiché viene utilizzato il parametro PassThru , in questo esempio viene restituito un oggetto istanza CIM modificato.
$x = New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";UserName="domain\user"} -Key Name,UserName -ClientOnly
Set-CimInstance -CimInstance $x -Property @{VariableValue="somevalue"} -PassThru
Parametri
-CimSession
Esegue i cmdlet in un computer remoto. Immettere un nome computer o un oggetto sessione, ad esempio l'output di un New-CimSession
cmdlet o Get-CimSession
.
Tipo: | CimSession[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-ComputerName
Specifica il nome del computer in cui si desidera eseguire l'operazione CIM. È possibile specificare un nome di dominio completo (FQDN) o un nome NetBIOS.
Se non si specifica questo parametro, il cmdlet esegue l'operazione nel computer locale usando Component Object Model (COM).
Se si specifica questo parametro, il cmdlet crea una sessione temporanea nel computer specificato usando il protocollo WsMan.
Se vengono eseguite più operazioni nello stesso computer, la connessione tramite una sessione CIM offre prestazioni migliori.
Tipo: | String[] |
Alias: | CN, ServerName |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-InputObject
Specifica un oggetto istanza CIM da utilizzare come input.
Il parametro InputObject non enumera le raccolte. Se viene passata una raccolta, viene generato un errore. Quando si utilizzano raccolte, inviare tramite pipe l'input per enumerare i valori.
Tipo: | CimInstance |
Alias: | CimInstance |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Namespace
Specifica lo spazio dei nomi per l'operazione CIM. Lo spazio dei nomi predefinito è root/cimv2. È possibile usare il completamento della scheda per esplorare l'elenco degli spazi dei nomi, perché PowerShell ottiene un elenco di spazi dei nomi dal server WMI locale per fornire l'elenco degli spazi dei nomi.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-OperationTimeoutSec
Specifica la quantità di tempo in cui il cmdlet attende una risposta dal computer. Per impostazione predefinita, il valore di questo parametro è 0, il che significa che il cmdlet usa il valore di timeout predefinito per il server.
Se il parametro OperationTimeoutSec è impostato su un valore inferiore al timeout di tentativo di connessione affidabile di 3 minuti, gli errori di rete che durano più del valore del parametro OperationTimeoutSec non sono recuperabili, perché l'operazione sul server scade prima che il client possa riconnettersi.
Tipo: | UInt32 |
Alias: | OT |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-PassThru
Restituisce un oggetto che rappresenta l'elemento in uso. Per impostazione predefinita, il cmdlet non genera alcun output.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Property
Specifica le proprietà dell'istanza CIM come tabella hash (usando coppie nome-valore). Vengono modificate solo le proprietà specificate utilizzando questo parametro. Altre proprietà dell'istanza CIM non vengono modificate.
Tipo: | IDictionary |
Alias: | Arguments |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Query
Specifica una query da eseguire nel server CIM per recuperare le istanze CIM in cui eseguire il cmdlet. È possibile specificare il dialetto della query usando il parametro QueryDialect.
Se il valore specificato contiene virgolette doppie ("
), virgolette singole ('
) o una barra rovesciata (\
), è necessario eseguire l'escape di tali caratteri anteponendo loro la barra rovesciata (\
). Se il valore specificato usa l'operatore LIKE WQL, è necessario racchiuderli tra parentesi quadre (): percent (%
[]
), carattere di sottolineatura (_
) o parentesi quadra aperta ([
).
Tipo: | String |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-QueryDialect
Specifica il linguaggio di query utilizzato per il parametro Query. I valori accettabili per questo parametro sono: WQL o CQL. Il valore predefinito è WQL.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-ResourceUri
Specifica l'URI (Uniform Resource Identifier) della classe di risorse o dell'istanza di risorsa. L'URI viene usato per identificare un tipo specifico di risorsa, ad esempio i dischi o i processi, in un computer specifico.
Un URI è costituito da un prefisso e un percorso di una risorsa. Ad esempio:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
Per impostazione predefinita, se non si specifica questo parametro, viene usato l'URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
della risorsa standard DMTF e il nome della classe viene aggiunto.
ResourceURI può essere usato solo con le sessioni CIM create usando il protocollo WSMan o quando si specifica il parametro ComputerName, che crea una sessione CIM usando WSMan. Se si specifica questo parametro senza specificare il parametro ComputerName o se si specifica una sessione CIM creata usando il protocollo DCOM, verrà visualizzato un errore, perché il protocollo DCOM non supporta il parametro ResourceURI.
Se vengono specificati sia il parametro ResourceUri che il parametro Filter , il parametro Filter viene ignorato.
Tipo: | Uri |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
Output
None
Per impostazione predefinita, questo cmdlet non restituisce alcun output.
Quando si usa il parametro PassThru , questo cmdlet restituisce l'oggetto istanza CIM modificato.
Note
PowerShell include gli alias seguenti per Set-CimInstance
:
- Windows:
scim
Questo cmdlet è disponibile solo nelle piattaforme Windows.