Set-CimInstance
Ändrar en CIM-instans på en CIM-server genom att anropa metoden ModifyInstance för CIM-klassen.
Syntax
CimInstanceComputerSet (Standard)
Set-CimInstance
[-InputObject] <CimInstance>
[-ComputerName <String[]>]
[-ResourceUri <Uri>]
[-OperationTimeoutSec <UInt32>]
[-Property <IDictionary>]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
CimInstanceSessionSet
Set-CimInstance
[-InputObject] <CimInstance>
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-OperationTimeoutSec <UInt32>]
[-Property <IDictionary>]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
QuerySessionSet
Set-CimInstance
[-Query] <String>
-CimSession <CimSession[]>
-Property <IDictionary>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
QueryComputerSet
Set-CimInstance
[-Query] <String>
-Property <IDictionary>
[-ComputerName <String[]>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Den här cmdleten är endast tillgänglig på Windows-plattformen.
Den här cmdleten ändrar en CIM-instans på en CIM-server.
Om parametern InputObject inte anges fungerar cmdleten på något av följande sätt:
- Om varken parametern ComputerName eller parametern CimSession anges, fungerar den här cmdleten på den lokala Windows Management Instrumentation (WMI) med hjälp av en COM-session (Component Object Model).
- Om parametern ComputerName eller parametern CimSession anges, fungerar den här cmdleten mot den CIM-server som anges av parametern ComputerName eller parametern CimSession.
Om parametern InputObject anges fungerar cmdleten på något av följande sätt:
- Om varken parametern ComputerName eller parametern CimSession anges använder den här cmdleten CIM-sessionen eller datornamnet från indataobjektet.
- Om parametern ComputerName eller parametern CimSession anges använder den här cmdleten antingen parametervärdet CimSession eller ComputerName parametervärde. Detta är inte särskilt vanligt.
Exempel
Exempel 1: Ange CIM-instansen
I det här exemplet anges värdet för egenskapen VariableValue till abcd med hjälp av frågeparametern. Du kan ändra instanser som matchar en WQL-fråga (Windows Management Instrumentation Query Language).
$instance = @ {
Query = 'Select * from Win32_Environment where name LIKE "testvar%"'
Property = @{VariableValue="abcd"}
}
Set-CimInstance @instance
Exempel 2: Ange CIM-instansegenskapen med pipeline
Det här exemplet hämtar CIM-instansobjektet som filtrerats efter frågeparametern med hjälp av cmdleten Get-CimInstance . Cmdleten Set-CimInstance ändrar värdet för egenskapen VariableValue till abcd.
Get-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' |
Set-CimInstance -Property @{VariableValue="abcd"}
Exempel 3: Ange CIM-instansegenskapen med indataobjekt
$x = Get-CimInstance -Query 'Select * from Win32_Environment where Name="testvar"'
Set-CimInstance -InputObject $x -Property @{VariableValue="somevalue"} -PassThru
Det här exemplet hämtar CIM-instansobjekt som filtrerats efter frågeparametern i till en variabel $x med hjälp Get-CimInstanceav och skickar sedan innehållet i variabeln till cmdleten Set-CimInstance .
Set-CimInstance ändrar sedan egenskapen VariableValue till somevalue. Eftersom parametern PassThru används returnerar det här exemplet ett ändrat CIM-instansobjekt.
Exempel 4: Ange egenskapen CIM-instans
Det här exemplet hämtar CIM-instansobjektet som anges i frågeparametern till en variabel $x med hjälp av cmdleten Get-CimInstance och ändrar egenskapen VariableValue för objektet som ska ändras. CIM-instansobjektet sparas sedan med hjälp av cmdleten Set-CimInstance .
Eftersom parametern PassThru används returnerar det här exemplet ett ändrat CIM-instansobjekt.
$x = Get-CimInstance -Query 'Select * from Win32_Environment where name="testvar"'
$x.VariableValue = "Change"
Set-CimInstance -CimInstance $x -PassThru
Exempel 5: Visa listan över CIM-instanser som ska ändras med Hjälp av WhatIf
I det här exemplet används den gemensamma parametern WhatIf för att ange att ändringen inte ska göras, utan endast utdata vad som skulle hända om den gjordes.
$instance = @{
Query = 'Select * from Win32_Environment where name LIKE "testvar%"'
Property = @{VariableValue="abcd"}
WhatIf = $true
}
Set-CimInstance @instance
Exempel 6: Ange CIM-instansen efter bekräftelse från användaren
I det här exemplet används den gemensamma parametern Confirm (Bekräfta ) för att ange att ändringen endast ska göras efter bekräftelse från användaren.
$instance = @{
Query = 'Select * from Win32_Environment where name LIKE "testvar%"'
Property = @{VariableValue="abcd"}
Confirm = $true
}
Set-CimInstance @instance
Exempel 7: Ange den skapade CIM-instansen
Det här exemplet skapar en CIM-instans med de angivna egenskaperna med hjälp av cmdleten New-CimInstance och hämtar innehållet i till en variabel $x. Variabeln skickas sedan till cmdleten Set-CimInstance , som ändrar värdet för egenskapen VariableValue till somevalue.
Eftersom parametern PassThru används returnerar det här exemplet ett ändrat CIM-instansobjekt.
$instance = @{
ClassName = 'Win32_Environment'
Property = @{
Name="testvar"
UserName="domain\user"
}
Key = 'Name', 'UserName'
ClientOnly = $true
}
$x = New-CimInstance @instance
Set-CimInstance -CimInstance $x -Property @{VariableValue="somevalue"} -PassThru
Parametrar
-CimSession
Kör cmdletarna på en fjärrdator. Ange ett datornamn eller ett sessionsobjekt, till exempel utdata från en New-CimSession eller Get-CimSession cmdlet.
Parameteregenskaper
| Typ: | |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
CimInstanceSessionSet
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
QuerySessionSet
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-ComputerName
Anger namnet på den dator där du vill köra CIM-åtgärden. Du kan ange ett fullständigt kvalificerat domännamn (FQDN) eller ett NetBIOS-namn.
Om du inte anger den här parametern utför cmdleten åtgärden på den lokala datorn med hjälp av Komponentobjektmodell (COM).
Om du anger den här parametern skapar cmdleten en tillfällig session till den angivna datorn med hjälp av WsMan-protokollet.
Om flera åtgärder utförs på samma dator ger anslutning med en CIM-session bättre prestanda.
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | CN, Servernamn |
Parameteruppsättningar
CimInstanceComputerSet
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
QueryComputerSet
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | jfr |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-InputObject
Anger ett CIM-instansobjekt som ska användas som indata.
Parametern InputObject räknas inte upp över samlingar. Om en samling skickas utlöses ett fel. När du arbetar med samlingar kan du skicka indata för att räkna upp värdena.
Parameteregenskaper
| Typ: | CimInstance |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | CimInstance |
Parameteruppsättningar
CimInstanceComputerSet
| Position: | 0 |
| Obligatorisk: | True |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
CimInstanceSessionSet
| Position: | 0 |
| Obligatorisk: | True |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Namespace
Anger namnområdet för CIM-åtgärden. Standardnamnområdet är root/CIMV2. Du kan använda tabbavslut för att bläddra i listan över namnområden, eftersom PowerShell hämtar en lista över namnområden från den lokala WMI-servern för att tillhandahålla listan över namnområden.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
QuerySessionSet
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
QueryComputerSet
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-OperationTimeoutSec
Anger hur lång tid cmdleten väntar på ett svar från datorn. Som standard är värdet för den här parametern 0, vilket innebär att cmdleten använder standardvärdet för timeout för servern.
Om parametern OperationTimeoutSec anges till ett värde som är mindre än den robusta tidsgränsen för återförsök på 3 minuter kan nätverksfel som varar mer än värdet för parametern OperationTimeoutSec inte återställas eftersom åtgärden på servern överskrider tidsgränsen innan klienten kan återansluta.
Parameteregenskaper
| Typ: | UInt32 |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | OT |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-PassThru
Returnerar ett objekt som representerar det objekt som du arbetar med. Som standard genererar den här cmdleten inga utdata.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Property
Anger egenskaperna för CIM-instansen som en hash-tabell (med namn/värde-par). Endast de egenskaper som anges med den här parametern ändras. Andra egenskaper för CIM-instansen ändras inte.
Parameteregenskaper
| Typ: | IDictionary |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | Argumentpunkter |
Parameteruppsättningar
CimInstanceComputerSet
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
CimInstanceSessionSet
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
QuerySessionSet
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
QueryComputerSet
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-Query
Anger en fråga som ska köras på CIM-servern för att hämta CIM-instanser som cmdleten ska köras på. Du kan ange frågedialekten med parametern QueryDialect.
Om det angivna värdet innehåller dubbla citattecken ("), enkla citattecken ('), eller ett omvänt snedstreck (\), måste du undvika dessa tecken genom att prefixera dem med tecknet omvänt snedstreck (\). Om det angivna värdet använder WQL LIKE-operatorn måste du undvika följande tecken genom att omsluta dem inom hakparenteser (): procent ([]), understreck (%) eller inledande hakparentes (_).[
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
QuerySessionSet
| Position: | 0 |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
QueryComputerSet
| Position: | 0 |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-QueryDialect
Anger det frågespråk som används för frågeparametern. De godtagbara värdena för den här parametern är: WQL- eller CQL-. Standardvärdet är WQL-.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
QuerySessionSet
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
QueryComputerSet
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-ResourceUri
Anger resursens enhetliga resursidentifierare (URI) för resursklassen eller instansen. URI:n används för att identifiera en specifik typ av resurs, till exempel diskar eller processer, på en dator.
En URI består av ett prefix och en sökväg till en resurs. Till exempel:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDiskhttp://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
Om du inte anger den här parametern används som standard URI för DMTF-standardresursen http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ och klassnamnet läggs till i den.
ResourceUri- kan bara användas med CIM-sessioner som skapats med hjälp av WSMan-protokollet, eller när du anger parametern ComputerName, som skapar en CIM-session med WSMan. Om du anger den här parametern utan att ange parametern ComputerName, eller om du anger en CIM-session som skapats med DCOM-protokollet, får du ett fel eftersom DCOM-protokollet inte stöder parametern ResourceUri.
Om både parametern ResourceUri och parametern Filter anges ignoreras parametern Filter.
Parameteregenskaper
| Typ: | Uri |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
CimInstanceComputerSet
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
CimInstanceSessionSet
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-WhatIf
Visar vad som skulle hända om kommandot körs. Cmdleten körs inte.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | Wi |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
CimInstance
Utdata
None
Som standard returnerar den här cmdleten inga utdata.
CimInstance
När du använder parametern PassThru returnerar den här cmdleten det ändrade CIM-instansobjektet.
Kommentarer
PowerShell innehåller följande alias för Set-CimInstance:
- Windows:
scim
Den här cmdleten är endast tillgänglig på Windows-plattformar.