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 modyfikuje wystąpienie modelu CIM na serwerze CIM.

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

  • Jeśli nie określono parametru ComputerName ani parametru CimSession , to polecenie cmdlet działa w lokalnej 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 na jeden z następujących sposobów:

  • Jeśli nie określono ani parametru ComputerName , ani parametru CimSession , to to polecenie cmdlet używa sesji modelu ciM lub nazwy komputera z obiektu wejściowego.
  • Jeśli określono parametr ComputerName lub CimSession, to to polecenie cmdlet używa wartości parametru CimSession lub Wartości parametru ComputerName. 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 Get-CimInstance polecenia cmdlet . Polecenie Set-CimInstance cmdlet modyfikuje wartość właściwości VariableValue na 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

W tym przykładzie są pobierane obiekty wystąpienia modelu CIM filtrowane przez parametr Query w zmiennej $x przy użyciu metody Get-CimInstance, a następnie przekazuje zawartość zmiennej do Set-CimInstance polecenia cmdlet . Set-CimInstance następnie modyfikuje właściwość VariableValue na wartość somevalue. Ponieważ jest używany parametr Passthru, ten przykład zwraca zmodyfikowany obiekt wystąpienia MODELU CIM.

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

W tym przykładzie jest pobierany obiekt wystąpienia modelu CIM określony w parametrze Query do zmiennej $x przy użyciu Get-CimInstance polecenia cmdlet i zmienia wartość właściwości VariableValue obiektu w celu zmiany. Następnie obiekt wystąpienia modelu CIM jest zapisywany przy użyciu Set-CimInstance polecenia cmdlet . Ponieważ jest używany parametr Passthru, ten przykład zwraca 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 być wykonywana, ale tylko dane wyjściowe, co by się stało, 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 modyfikację należy wykonać 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 New-CimInstance polecenia cmdlet i pobiera jego zawartość do zmiennej $x. Zmienna jest następnie przekazywana do Set-CimInstance polecenia cmdlet, które modyfikuje wartość właściwości VariableValue na wartość somevalue. Ponieważ jest używany parametr Passthru, ten przykład zwraca 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 New-CimSession polecenia cmdlet 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 WQL, 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, jest używany standardowy identyfikator URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ zasobu DMTF, 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 zarówno parametr ResourceUri , jak i parametr 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 po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

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.