Udostępnij za pośrednictwem


Set-CimInstance

Modyfikuje wystąpienie modelu CIM na serwerze MODELU CIM, wywołując metodę ModifyInstance klasy CIM.

Składnia

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

Opis

To polecenie cmdlet jest dostępne tylko na platformie Windows.

To polecenie cmdlet modyfikuje wystąpienie modelu CIM na serwerze CIM.

Jeśli nie określono parametru InputObject, polecenie cmdlet działa na jeden z następujących sposobów:

  • Jeśli nie określono parametru ComputerName ani parametru CimSession, to to polecenie cmdlet działa w lokalnej sesji instrumentacji zarządzania Windows (WMI) przy użyciu sesji modelu obiektów składników (COM).
  • Jeśli określono parametr ComputerName lub parametr CimSession, to polecenie cmdlet działa względem serwera CIM określonego przez parametr ComputerName lub CimSession parametru.

Jeśli określono parametr InputObject, polecenie cmdlet działa w jeden z następujących sposobów:

  • Jeśli nie określono parametru ComputerName ani parametru CimSession, to to polecenie cmdlet używa sesji lub nazwy komputera modelu CIM z obiektu wejściowego.
  • Jeśli określono parametr ComputerName lub parametr CimSession, to to polecenie cmdlet używa wartości parametru CimSession lub ComputerName wartość parametru. Nie jest to bardzo powszechne.

Przykłady

Przykład 1. Ustawianie wystąpienia modelu CIM

W tym przykładzie ustawiono wartość właściwości VariableValue na abcd przy użyciu parametru Query . Wystąpienia pasujące do zapytania Języka zapytań instrumentacji zarządzania Windows (WQL) można modyfikować.

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

Przykład 2. Ustawianie właściwości wystąpienia modelu CIM przy użyciu potoku

Ten przykład pobiera obiekt wystąpienia modelu CIM filtrowany przez parametr Query przy użyciu polecenia cmdlet Get-CimInstance. Polecenie cmdlet Set-CimInstance modyfikuje wartość właściwości VariableValue, aby abcd.

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

Przykład 3. Ustawianie właściwości wystąpienia modelu CIM przy użyciu obiektu wejściowego

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

Ten przykład pobiera obiekty wystąpienia modelu CIM filtrowane przez parametr Query w zmiennej $x przy użyciu Get-CimInstance, a następnie przekazuje zawartość zmiennej do polecenia cmdlet Set-CimInstance. Set-CimInstance następnie modyfikuje właściwość VariableValue w celu wartości. Ponieważ jest używany parametr Passthru, w tym przykładzie jest zwracany zmodyfikowany obiekt wystąpienia modelu CIM.

Przykład 4. Ustawianie właściwości wystąpienia modelu CIM

Ten przykład pobiera obiekt wystąpienia modelu CIM określony w parametrze Query do zmiennej $x przy użyciu polecenia cmdlet Get-CimInstance i zmienia wartość właściwości VariableValue obiektu w celu zmiany. Następnie obiekt wystąpienia modelu CIM jest zapisywany przy użyciu polecenia cmdlet Set-CimInstance. Ponieważ jest używany parametr Passthru, w tym przykładzie jest zwracany zmodyfikowany obiekt wystąpienia modelu CIM.

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

Przykład 5. Wyświetlanie listy wystąpień modelu CIM do modyfikowania przy użyciu funkcji WhatIf

W tym przykładzie użyto wspólnego parametru WhatIf, aby określić, że modyfikacja nie powinna zostać wykonana, ale tylko dane wyjściowe, co się stanie, gdyby zostało to zrobione.

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

Przykład 6. Ustawianie wystąpienia modelu CIM po potwierdzeniu od użytkownika

W tym przykładzie użyto wspólnego parametru Potwierdź, aby określić, że modyfikacja powinna zostać wykonana dopiero po potwierdzeniu od użytkownika.

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

Przykład 7. Ustawianie utworzonego wystąpienia modelu CIM

W tym przykładzie tworzone jest wystąpienie modelu CIM z określonymi właściwościami przy użyciu polecenia cmdlet New-CimInstance i pobiera jego zawartość do zmiennej $x. Zmienna jest następnie przekazywana do polecenia cmdlet Set-CimInstance, które modyfikuje wartość właściwości VariableValue w celu wartości. Ponieważ jest używany parametr Passthru, w tym przykładzie jest zwracany zmodyfikowany obiekt wystąpienia modelu 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

Uruchamia polecenia cmdlet na komputerze zdalnym. Wprowadź nazwę komputera lub obiekt sesji, taki jak dane wyjściowe polecenia cmdlet New-CimSession lub Get-CimSession.

Typ:CimSession[]
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-ComputerName

Określa nazwę komputera, na którym chcesz uruchomić operację CIM. Można określić w pełni kwalifikowaną nazwę domeny (FQDN) lub nazwę NetBIOS.

Jeśli nie określisz tego parametru, polecenie cmdlet wykonuje operację na komputerze lokalnym przy użyciu modelu obiektów składników (COM).

Jeśli określisz ten parametr, polecenie cmdlet utworzy sesję tymczasową na określonym komputerze przy użyciu protokołu WsMan.

Jeśli na tym samym komputerze jest wykonywanych wiele operacji, połączenie przy użyciu sesji modelu CIM zapewnia lepszą wydajność.

Typ:String[]
Aliasy:CN, ServerName
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-InputObject

Określa obiekt wystąpienia modelu CIM, który ma być używany jako dane wejściowe.

Parametr InputObject nie wylicza się w kolekcjach. Jeśli kolekcja zostanie przekazana, zostanie zgłoszony błąd. Podczas pracy z kolekcjami należy przekazać dane wejściowe w celu wyliczenia wartości.

Typ:CimInstance
Aliasy:CimInstance
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Namespace

Określa przestrzeń nazw dla operacji CIM. Domyślna przestrzeń nazw to root/cimv2. Za pomocą uzupełniania karty można przeglądać listę przestrzeni nazw, ponieważ program PowerShell pobiera listę przestrzeni nazw z lokalnego serwera WMI w celu udostępnienia listy przestrzeni nazw.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-OperationTimeoutSec

Określa czas oczekiwania polecenia cmdlet na odpowiedź z komputera. Domyślnie wartość tego parametru to 0, co oznacza, że polecenie cmdlet używa domyślnej wartości limitu czasu dla serwera.

Jeśli parametr OperationTimeoutSec jest ustawiony na wartość mniejszą niż limit czasu ponawiania próby niezawodnego połączenia przez 3 minuty, awarie sieci, które trwają dłużej niż wartość parametru OperationTimeoutSec nie są możliwe do odzyskania, ponieważ operacja na serwerze przekracza limit czasu, zanim klient będzie mógł ponownie nawiązać połączenie.

Typ:UInt32
Aliasy:OT
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PassThru

Zwraca obiekt reprezentujący element, z którym pracujesz. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Property

Określa właściwości wystąpienia modelu CIM jako tabelę skrótów (przy użyciu par name-value). Tylko właściwości określone przy użyciu tego parametru są zmieniane. Inne właściwości wystąpienia modelu CIM nie są zmieniane.

Typ:IDictionary
Aliasy:Arguments
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Query

Określa zapytanie do uruchomienia na serwerze CIM w celu pobrania wystąpień modelu CIM, na których ma zostać uruchomione polecenie cmdlet. Dialekt zapytania można określić przy użyciu parametru QueryDialect.

Jeśli określona wartość zawiera cudzysłowy podwójne ("), apostrofy (') lub ukośnik odwrotny (\), należy użyć tych znaków, prefiksując je znakiem ukośnika odwrotnego (\). Jeśli określona wartość używa operatora LIKE LIKE, należy użyć następujących znaków, ujęcie ich w nawiasy kwadratowe ([]): procent (%), podkreślenie (_) lub otwierając nawias kwadratowy ([).

Typ:String
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-QueryDialect

Określa język zapytań używany dla parametru Query. Dopuszczalne wartości tego parametru to: WQL lub CQL. Wartość domyślna to WQL.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-ResourceUri

Określa identyfikator URI (resource uniform resource identifier) klasy zasobów lub wystąpienia. Identyfikator URI służy do identyfikowania określonego typu zasobu, takiego jak dyski lub procesy, na komputerze.

Identyfikator URI składa się z prefiksu i ścieżki do zasobu. Na przykład:

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

Domyślnie, jeśli nie określisz tego parametru, używany jest identyfikator URI zasobu standardowego DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/, a nazwa klasy jest dołączana do niego.

Identyfikator ResourceURI może być używany tylko z sesjami modelu CIM utworzonymi przy użyciu protokołu WSMan lub podczas określania parametru ComputerName, który tworzy sesję modelu CIM przy użyciu narzędzia WSMan. Jeśli określisz ten parametr bez określenia parametru ComputerName lub jeśli określisz sesję modelu ciM utworzoną przy użyciu protokołu DCOM, zostanie wyświetlony błąd, ponieważ protokół DCOM nie obsługuje parametru ResourceURI.

Jeśli określono parametr ResourceUri i parametr Filter Filter, parametr Filter zostanie zignorowany.

Typ:Uri
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Polecenie cmdlet nie jest uruchamiane.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

CimInstance

Dane wyjściowe

None

Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.

CimInstance

Jeśli używasz parametru Passthru, to polecenie cmdlet zwraca zmodyfikowany obiekt wystąpienia modelu CIM.

Uwagi

Program PowerShell zawiera następujące aliasy dla Set-CimInstance:

  • Windows:
    • scim

To polecenie cmdlet jest dostępne tylko na platformach windows.