Udostępnij za pośrednictwem


New-CimInstance

Tworzy wystąpienie modelu CIM.

Składnia

New-CimInstance
   [-ClassName] <String>
   [-Key <String[]>]
   [[-Property] <IDictionary>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-ComputerName <String[]>]
   [-ClientOnly]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CimInstance
   [-ClassName] <String>
   [-Key <String[]>]
   [[-Property] <IDictionary>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   -CimSession <CimSession[]>
   [-ClientOnly]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CimInstance
   -ResourceUri <Uri>
   [-Key <String[]>]
   [[-Property] <IDictionary>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   -CimSession <CimSession[]>
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CimInstance
   -ResourceUri <Uri>
   [-Key <String[]>]
   [[-Property] <IDictionary>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-ComputerName <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CimInstance
   [-CimClass] <CimClass>
   [[-Property] <IDictionary>]
   [-OperationTimeoutSec <UInt32>]
   -CimSession <CimSession[]>
   [-ClientOnly]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CimInstance
   [-CimClass] <CimClass>
   [[-Property] <IDictionary>]
   [-OperationTimeoutSec <UInt32>]
   [-ComputerName <String[]>]
   [-ClientOnly]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Opis

Polecenie New-CimInstance cmdlet tworzy wystąpienie klasy CIM na podstawie definicji klasy na komputerze lokalnym lub komputerze zdalnym. Domyślnie polecenie New-CimInstance cmdlet tworzy wystąpienie na komputerze lokalnym.

Przykłady

Przykład 1. Tworzenie wystąpienia klasy CIM

W tym przykładzie tworzone jest wystąpienie klasy ciM o nazwie win32_environment w przestrzeni nazw root/cimv2 na komputerze.

New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";VariableValue="testvalue";UserName="domain\user"}

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 New-CimInstance polecenia cmdlet .

$class = Get-CimClass -ClassName Win32_Environment
New-CimInstance -CimClass $class -Property @{Name="testvar";VariableValue="testvalue";UserName="Contoso\User1"}

Przykład 3. Tworzenie wystąpienia dynamicznego na kliencie

W tym przykładzie tworzone jest dynamiczne wystąpienie klasy 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.

$a = New-CimInstance -ClassName Win32_Process -Property @{Handle=0} -Key Handle -ClientOnly
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 :

Następnie Get-CimInstance polecenie cmdlet pobiera określone pojedyncze wystąpienie. Polecenie Invoke-CimMethod cmdlet 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 katalogu głównym/gdzieś przestrzeni nazw i przechowuje je w zmiennej o nazwie $class . Zmienna jest przekazywana do New-CimInstance polecenia cmdlet 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 czy klucze są oznaczone poprawnie.

Nie można użyć parametru ComputerName lub CimSession z parametrem ClientOnly .

Parametry

-CimClass

Określa obiekt klasy CIM reprezentujący typ wystąpienia. Get-CimClass Użyj polecenia cmdlet , aby pobrać deklarację klasy z komputera. Użycie tego parametru powoduje lepsze weryfikacje schematu po stronie klienta.

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

-CimSession

Uruchamia polecenie przy użyciu określonej sesji modelu CIM. Wprowadź zmienną zawierającą sesję modelu CIM lub polecenie, które tworzy lub pobiera sesję modelu CIM, na przykład New-CimSession polecenia cmdlet lub Get-CimSession . Aby uzyskać więcej informacji, zobacz about_CimSession.

Typ:CimSession[]
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych: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.

Typ:String
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych: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.

Typ:SwitchParameter
Aliasy:Local
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
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), 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ść.

Typ:String[]
Aliasy:CN, ServerName
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
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

-Key

Określa właściwości, które są używane jako klucze. CimSession i ComputerName nie można używać w przypadku określenia klucza .

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

-Namespace

Określa przestrzeń nazw klasy dla nowego wystąpienia. 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 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.

Typ:UInt32
Aliasy:OT
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 przy użyciu tabeli skrótu (par name-value).

Jeśli określisz parametr CimClass , polecenie New-CimInstance cmdlet wykona 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 parametr CimClass nie został określony, weryfikacja właściwości jest wykonywana na serwerze.

Typ:IDictionary
Aliasy:Arguments
Position:1
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:True
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

None

Nie można potokować obiektów do tego polecenia cmdlet.

Dane wyjściowe

Object

To polecenie cmdlet zwraca obiekt zawierający informacje o wystąpieniu modelu CIM.