Sdílet prostřednictvím


Set-CimInstance

Upraví instanci CIM na serveru CIM voláním metody ModifyInstance třídy CIM.

Syntaxe

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

Description

Tato rutina je dostupná jenom na platformě Windows.

Tato rutina upraví instanci CIM na serveru CIM.

Pokud není zadaný parametr InputObject, rutina funguje jedním z následujících způsobů:

  • Pokud není zadán parametr ComputerName ani parametr CimSession, tato rutina funguje v místní službě WMI (Windows Management Instrumentation) pomocí relace modelu COM (Component Object Model).
  • Pokud je zadán parametr ComputerName nebo parametr CimSession, tato rutina pracuje se serverem CIM určeným parametrem ComputerName nebo parametrem CimSession.

Pokud je zadaný parametr InputObject, rutina funguje jedním z následujících způsobů:

  • Pokud není zadán parametr ComputerName ani parametr CimSession, použije tato rutina ze vstupního objektu relaci CIM nebo název počítače.
  • Pokud je zadaný parametr ComputerName nebo parametr CimSession, použije tato rutina hodnotu parametru CimSession nebo hodnotu parametru ComputerName. To není velmi běžné.

Příklady

Příklad 1: Nastavení instance CIM

Tento příklad nastaví hodnotu VariableValue vlastnost abcd pomocí parametru Query. Můžete upravit instance odpovídající dotazu WQL (Windows Management Instrumentation Query Language).

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"}

Příklad 2: Nastavení vlastnosti instance CIM pomocí kanálu

Tento příklad načte objekt instance CIM filtrovaný pomocí parametru Query pomocí rutiny Get-CimInstance . Rutina Set-CimInstance upraví hodnotu vlastnosti VariableValue na abcd.

Get-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' |
  Set-CimInstance -Property @{VariableValue="abcd"}

Příklad 3: Nastavení vlastnosti instance CIM pomocí vstupního objektu

$x = Get-CimInstance -Query 'Select * from Win32_Environment where Name="testvar"'
Set-CimInstance -InputObject $x -Property @{VariableValue="somevalue"} -PassThru

Tento příklad načte objekty instance CIM filtrované parametrem Query do proměnné $x pomocí Get-CimInstancea pak předá obsah proměnné rutině Set-CimInstance . Set-CimInstance potom upraví proměnnouValue vlastnost na somevalue. Protože se používá parametr PassThru, vrátí tento příklad upravený objekt instance CIM.

Příklad 4: Nastavení vlastnosti instance CIM

Tento příklad načte objekt instance CIM zadaný v parametru Query do proměnné $x pomocí Get-CimInstance rutiny a změní hodnotu Vlastnosti VariableValue objektu na změnu. Objekt instance CIM se pak uloží pomocí rutiny Set-CimInstance . Protože se používá parametr PassThru, vrátí tento příklad upravený objekt instance CIM.

$x = Get-CimInstance -Query 'Select * from Win32_Environment where name="testvar"'
$x.VariableValue = "Change"
Set-CimInstance -CimInstance $x -PassThru

Příklad 5: Zobrazení seznamu instancí CIM pro úpravu pomocí whatIf

Tento příklad používá společný parametr WhatIf k určení, že úpravy by se neměly provádět, ale pouze výstup, co by se stalo, kdyby bylo provedeno.

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -WhatIf

Příklad 6: Nastavení instance CIM po potvrzení od uživatele

Tento příklad používá společný parametr Confirm k určení, že úpravy by se měly provést až po potvrzení od uživatele.

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -Confirm

Příklad 7: Nastavení vytvořené instance CIM

Tento příklad vytvoří instanci CIM se zadanými vlastnostmi pomocí New-CimInstance rutiny a načte její obsah do proměnné $x. Proměnná se pak předá rutině Set-CimInstance , která upraví hodnotu VariableValue vlastnosti na hodnotu somevalue. Protože se používá parametr PassThru, vrátí tento příklad upravený objekt instance CIM.

$x = New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";UserName="domain\user"} -Key Name,UserName -ClientOnly
Set-CimInstance -CimInstance $x -Property @{VariableValue="somevalue"} -PassThru

Parametry

-CimSession

Spustí rutiny na vzdáleném počítači. Zadejte název počítače nebo objekt relace, například výstup New-CimSession rutiny.Get-CimSession

Typ:CimSession[]
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-ComputerName

Určuje název počítače, na kterém chcete spustit operaci CIM. Můžete zadat plně kvalifikovaný název domény (FQDN) nebo název rozhraní NetBIOS.

Pokud tento parametr nezadáte, rutina provede operaci na místním počítači pomocí modelu COM (Component Object Model).

Pokud zadáte tento parametr, rutina vytvoří dočasnou relaci k zadanému počítači pomocí protokolu WsMan.

Pokud se na stejném počítači provádí více operací, poskytuje připojení pomocí relace CIM lepší výkon.

Typ:String[]
Aliasy:CN, ServerName
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Confirm

Před spuštěním rutiny zobrazí výzvu k potvrzení.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-InputObject

Určuje objekt instance CIM, který se má použít jako vstup.

Parametr InputObject nevypíše výčet kolekcí. Pokud je kolekce předána, vyvolá se chyba. Při prácisch

Typ:CimInstance
Aliasy:CimInstance
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Namespace

Určuje obor názvů pro operaci CIM. Výchozí obor názvů je root/cimv2. Pomocí dokončování tabulátoru můžete procházet seznam oborů názvů, protože PowerShell získá seznam oborů názvů z místního serveru WMI a poskytne seznam oborů názvů.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-OperationTimeoutSec

Určuje dobu, po kterou rutina čeká na odpověď z počítače. Ve výchozím nastavení je hodnota tohoto parametru 0, což znamená, že rutina používá výchozí hodnotu časového limitu pro server.

Pokud je parametr OperationTimeoutSec nastaven na hodnotu menší než robustní časový limit opakování připojení 3 minuty, chyby sítě, které trvaly více než hodnota parametru OperationTimeoutSec, se nedají obnovit, protože operace na serveru vyprší, než se klient může znovu připojit.

Typ:UInt32
Aliasy:OT
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-PassThru

Vrátí objekt představující položku, se kterou pracujete. Ve výchozím nastavení tato rutina negeneruje žádný výstup.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Property

Určuje vlastnosti instance CIM jako tabulku hash (pomocí párů name-value). Změní se pouze vlastnosti zadané pomocí tohoto parametru. Jiné vlastnosti instance CIM se nezmění.

Typ:IDictionary
Aliasy:Arguments
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Query

Určuje dotaz, který se má spustit na serveru CIM, aby se načetly instance CIM, na kterých se má rutina spustit. Dialekt dotazu můžete zadat pomocí parametru QueryDialect.

Pokud zadaná hodnota obsahuje dvojité uvozovky ("), jednoduché uvozovky (') nebo zpětné lomítko (\), musíte tyto znaky uvozit před znakem zpětného lomítka (\). Pokud zadaná hodnota používá operátor WQL LIKE, musíte uvozovat následující znaky tak, že je uzavřete do hranatých závorek (): percent ([]), podtržítko (%_) nebo levá hranatá závorka ([).

Typ:String
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-QueryDialect

Určuje dotazovací jazyk použitý pro parametr Dotazu. Přijatelné hodnoty pro tento parametr jsou: WQL nebo CQL. Výchozí hodnota je WQL.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-ResourceUri

Určuje identifikátor URI (Uniform Resource Identifier) prostředku třídy prostředků nebo instance. Identifikátor URI slouží k identifikaci konkrétního typu prostředku, jako jsou disky nebo procesy, v počítači.

Identifikátor URI se skládá z předpony a cesty k prostředku. Příklad:

  • http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
  • http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings

Pokud tento parametr nezadáte, použije se standardní identifikátor URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ prostředku DMTF a název třídy se k němu připojí.

Identifikátor ResourceURI lze použít pouze s relacemi CIM vytvořenými pomocí protokolu WSMan nebo při zadávání parametru ComputerName, který vytvoří relaci CIM pomocí WSManu. Pokud tento parametr zadáte bez zadání parametru ComputerName nebo zadáte relaci CIM vytvořenou pomocí protokolu DCOM, zobrazí se chyba, protože protokol DCOM nepodporuje parametr ResourceURI.

Pokud je zadán parametr ResourceUri i parametr Filter, parametr Filter se ignoruje.

Typ:Uri
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-WhatIf

Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

CimInstance

Výstupy

None

Ve výchozím nastavení tato rutina nevrací žádný výstup.

CimInstance

Pokud použijete parametr PassThru , vrátí tato rutina upravený objekt instance CIM.

Poznámky

PowerShell obsahuje následující aliasy pro Set-CimInstance:

  • Windows:
    • scim

Tato rutina je dostupná jenom na platformách Windows.