New-CimInstance
Tworzy wystąpienie modelu CIM.
Składnia
ClassNameComputerSet (Domyślna)
New-CimInstance
[-ClassName] <String>
[[-Property] <IDictionary>]
[-Key <String[]>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String[]>]
[-ClientOnly]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ClassNameSessionSet
New-CimInstance
[-ClassName] <String>
[[-Property] <IDictionary>]
-CimSession <CimSession[]>
[-Key <String[]>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-ClientOnly]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ResourceUriSessionSet
New-CimInstance
[[-Property] <IDictionary>]
-ResourceUri <Uri>
-CimSession <CimSession[]>
[-Key <String[]>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ResourceUriComputerSet
New-CimInstance
[[-Property] <IDictionary>]
-ResourceUri <Uri>
[-Key <String[]>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
CimClassSessionSet
New-CimInstance
[-CimClass] <CimClass>
[[-Property] <IDictionary>]
-CimSession <CimSession[]>
[-OperationTimeoutSec <UInt32>]
[-ClientOnly]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
CimClassComputerSet
New-CimInstance
[-CimClass] <CimClass>
[[-Property] <IDictionary>]
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String[]>]
[-ClientOnly]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
Ten cmdlet jest dostępny tylko na platformie Windows.
Polecenie cmdlet New-CimInstance tworzy wystąpienie klasy CIM na podstawie definicji klasy na komputerze lokalnym lub komputerze zdalnym. Domyślnie polecenie cmdlet New-CimInstance tworzy wystąpienie na komputerze lokalnym.
Przykłady
Przykład 1. Tworzenie wystąpienia klasy CIM
W tym przykładzie utworzono wystąpienie klasy CIM o nazwie Win32_Environment w przestrzeni nazw root/CIMV2 na komputerze.
$prop = @{
Name = "testvar"
VariableValue = "testvalue"
UserName = "domain\user"
}
New-CimInstance -ClassName Win32_Environment -Property $prop
Sprawdzanie poprawności po stronie klienta nie jest wykonywane, jeśli klasa nie istnieje, właściwości są nieprawidłowe lub jeśli serwer odrzuci wywołanie. Jeśli wystąpienie zostało utworzone pomyślnie, polecenie cmdlet zwraca nowo utworzone wystąpienie.
Przykład 2. Tworzenie wystąpienia klasy CIM przy użyciu schematu klasy
W tym przykładzie pobiera obiekt klasy CIM i przechowuje go w zmiennej o nazwie $class. Zawartość zmiennej jest następnie przekazywana do polecenia cmdlet New-CimInstance.
$class = Get-CimClass -ClassName Win32_Environment
$prop = @{
Name = "testvar"
VariableValue = "testvalue"
UserName = "Contoso\User1"
}
New-CimInstance -CimClass $class -Property $prop
Przykład 3. Tworzenie wystąpienia dynamicznego na kliencie
W tym przykładzie tworzone jest dynamiczne wystąpienie klasy MODELU CIM o nazwie Win32_Process na komputerze klienckim bez pobierania wystąpienia z serwera. Nowe wystąpienie jest przechowywane w zmiennej $a. To wystąpienie dynamiczne może służyć do wykonywania operacji, jeśli wystąpienie z tym kluczem istnieje na serwerze.
$instance = @{
ClassName = 'Win32_Process'
Property = @{
Handle = 0
}
Key = 'Handle'
ClientOnly = $true
}
$a = New-CimInstance @instance
Get-CimInstance -CimInstance $a
Invoke-CimMethod -CimInstance $a -MethodName GetOwner
ProcessId Name HandleCount WorkingSetSize VirtualSize
--------- ---- ----------- -------------- -----------
0 System Idle Process 0 8192 8192
Domain :
ReturnValue : 2
User :
PSComputerName :
Polecenie cmdlet Get-CimInstance pobiera określone pojedyncze wystąpienie. Polecenie cmdlet Invoke-CimMethod wywołuje metodę GetOwner w pobranym wystąpieniu.
Przykład 4. Tworzenie wystąpienia dla klasy CIM określonej przestrzeni nazw
Ten przykład pobiera wystąpienie klasy CIM o nazwie MSFT_Something w przestrzeni nazw katalogu głównego/gdzieś i przechowuje je w zmiennej o nazwie $class. Zmienna jest przekazywana do polecenia cmdlet New-CimInstance w celu utworzenia nowego wystąpienia modelu CIM i przeprowadzenia walidacji po stronie klienta w nowym wystąpieniu.
$class = Get-CimClass -ClassName MSFT_Something -Namespace root/somewhere
New-CimInstance -CimClass $class -Property @{"Prop1"=1;"Prop2"="value"} -ClientOnly
W tym przykładzie użycie parametru CimClass zamiast parametru ClassName sprawdza, czy Prop1 i Prop2 rzeczywiście istnieją i że klucze są oznaczone poprawnie.
Nie można użyć parametru ComputerName ani CimSession z parametrem ClientOnly.
Parametry
-CimClass
Określa obiekt klasy CIM reprezentujący typ wystąpienia. Użyj polecenia cmdlet Get-CimClass, aby pobrać deklarację klasy z komputera. Użycie tego parametru powoduje lepsze weryfikacje schematu po stronie klienta.
Właściwości parametru
| Typ: | CimClass |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
CimClassSessionSet
| Position: | 0 |
| Obowiązkowy: | True |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CimClassComputerSet
| Position: | 0 |
| Obowiązkowy: | True |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-CimSession
Uruchamia polecenie przy użyciu określonej sesji CIM. Wprowadź zmienną zawierającą sesję modelu CIM lub polecenie, które tworzy lub pobiera sesję modelu CIM, na przykład polecenia cmdlet New-CimSession lub Get-CimSession. Aby uzyskać więcej informacji, zobacz about_CimSession.
Właściwości parametru
| Typ: | |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ClassNameSessionSet
| Position: | Named |
| Obowiązkowy: | True |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ResourceUriSessionSet
| Position: | Named |
| Obowiązkowy: | True |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CimClassSessionSet
| Position: | Named |
| Obowiązkowy: | True |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-ClassName
Określa nazwę klasy CIM, której operacja tworzy wystąpienie. UWAGA: Do przeglądania listy klas można użyć uzupełniania tabulacji, ponieważ program PowerShell pobiera listę klas z lokalnego serwera WMI w celu udostępnienia listy nazw klas.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ClassNameComputerSet
| Position: | 0 |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
ClassNameSessionSet
| Position: | 0 |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-ClientOnly
Wskazuje, że wystąpienie jest tworzone tylko w programie PowerShell bez przechodzenia na serwer CIM. Tego parametru można użyć do utworzenia wystąpienia ciągłej integracji w pamięci do użycia w kolejnych operacjach programu PowerShell.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | Lokalny |
Zestawy parametrów
ClassNameComputerSet
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ClassNameSessionSet
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CimClassSessionSet
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CimClassComputerSet
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-ComputerName
Określa nazwę komputera, na którym chcesz uruchomić operację CIM. Można określić w pełni kwalifikowaną nazwę domeny (FQDN), nazwę NetBIOS lub adres IP.
Jeśli określisz ten parametr, polecenie cmdlet utworzy sesję tymczasową na określonym komputerze przy użyciu protokołu WSMan.
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 na tym samym komputerze jest wykonywanych wiele operacji, połączenie przy użyciu sesji modelu CIM zapewnia lepszą wydajność.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | CN, NazwaSerwera |
Zestawy parametrów
ClassNameComputerSet
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
ResourceUriComputerSet
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
CimClassComputerSet
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-Confirm
Prosi o potwierdzenie przed uruchomieniem cmdletu.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | por |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Key
Określa właściwości, które są używane jako klucze. cimSession i ComputerName nie można używać podczas określania klucza.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ClassNameComputerSet
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
ClassNameSessionSet
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
ResourceUriSessionSet
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
ResourceUriComputerSet
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-Namespace
Określa przestrzeń nazw klasy dla nowego wystąpienia. Domyślna przestrzeń nazw to root/CIMV2. Za pomocą uzupełniania za pomocą klawisza Tab można przeglądać listę przestrzeni nazw, ponieważ PowerShell pobiera listę przestrzeni nazw z lokalnego serwera WMI w celu udostępnienia listy przestrzeni nazw.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ClassNameComputerSet
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
ClassNameSessionSet
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
ResourceUriSessionSet
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
ResourceUriComputerSet
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-OperationTimeoutSec
Określa czas oczekiwania polecenia cmdlet na odpowiedź z serwera CIM. 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.
Właściwości parametru
| Typ: | UInt32 |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | OT |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Property
Określa właściwości wystąpienia modelu CIM przy użyciu tabeli skrótu (par name-value).
W przypadku określenia parametru CimClass polecenie cmdlet New-CimInstance przeprowadza walidację właściwości na kliencie, aby upewnić się, że określone właściwości są zgodne z deklaracją klasy na serwerze. Jeśli nie określono parametru CimClass, walidacja właściwości jest wykonywana na serwerze.
Właściwości parametru
| Typ: | IDictionary |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | Argumenty (w programowaniu) |
Zestawy parametrów
(All)
| Position: | 1 |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-ResourceUri
Określa jednolity identyfikator zasobu (URI) klasy zasobów lub jej 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. 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.
ResourceUri można używać 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.
Właściwości parametru
| Typ: | Uri |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ResourceUriSessionSet
| Position: | Named |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
ResourceUriComputerSet
| Position: | Named |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | Wi |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
None
Nie można przekazywać obiektów do tego cmdletu.
Dane wyjściowe
CimInstance
To polecenie cmdlet zwraca obiekt zawierający informacje o wystąpieniu modelu CIM.
Uwagi
Program PowerShell zawiera następujące aliasy dla New-CimInstance:
- Windows:
ncim
Ten cmdlet jest dostępny tylko na platformach Windows.