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 parametrCimSession , to polecenie cmdlet działa względem serwera CIM określonego przez parametrComputerName 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
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
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
Dane wyjściowe
None
Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.
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.