New-CimInstance
Vytvoří instanci CIM.
Syntaxe
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>]
Description
Tato rutina je dostupná jenom na platformě Windows.
Rutina New-CimInstance
vytvoří instanci třídy CIM na základě definice třídy na místním počítači nebo ve vzdáleném počítači. Ve výchozím nastavení rutina New-CimInstance
vytvoří instanci v místním počítači.
Příklady
Příklad 1: Vytvoření instance třídy CIM
Tento příklad vytvoří instanci třídy CIM s názvem win32_environment v oboru názvů root/cimv2 v počítači.
New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";VariableValue="testvalue";UserName="domain\user"}
Pokud třída neexistuje, nejsou provedeny žádné ověření na straně klienta, vlastnosti jsou nesprávné nebo pokud server odmítne volání. Pokud se instance úspěšně vytvoří, rutina vypíše nově vytvořenou instanci.
Příklad 2: Vytvoření instance třídy CIM pomocí schématu třídy
Tento příklad načte objekt třídy CIM a uloží ho do proměnné s názvem $class
. Obsah proměnné se pak předá rutině New-CimInstance
.
$class = Get-CimClass -ClassName Win32_Environment
New-CimInstance -CimClass $class -Property @{Name="testvar";VariableValue="testvalue";UserName="Contoso\User1"}
Příklad 3: Vytvoření dynamické instance v klientovi
Tento příklad vytvoří dynamickou instanci třídy CIM s názvem Win32_Process na klientském počítači bez získání instance ze serveru. Nová instance je uložena v proměnné $a
. Tuto dynamickou instanci lze použít k provádění operací, pokud instance s tímto klíčem existuje na serveru.
$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 :
Rutina Get-CimInstance
pak načte konkrétní jednu instanci. Rutina Invoke-CimMethod
volá metodu GetOwner na načtené instanci.
Příklad 4: Vytvoření instance pro třídu CIM konkrétního oboru názvů
Tento příklad získá instanci třídy CIM s názvem MSFT_Something v kořenovém adresáři oboru názvů nebo někde a uloží ji do proměnné s názvem $class
. Proměnná se předá rutině New-CimInstance
, která vytvoří novou instanci CIM a provede ověření na straně klienta v nové instanci.
$class = Get-CimClass -ClassName MSFT_Something -Namespace root/somewhere
New-CimInstance -CimClass $class -Property @{"Prop1"=1;"Prop2"="value"} -ClientOnly
V tomto příkladu použití parametru CimClass místo parametru ClassName ověří, že Prop1 a Prop2 skutečně existují a že klíče jsou označeny správně.
Parametr ComputerName nebo CimSession nelze použít s parametrem ClientOnly.
Parametry
-CimClass
Určuje objekt třídy CIM, který představuje typ instance. Pomocí rutiny Get-CimClass
načtěte deklaraci třídy z počítače. Použití tohoto parametru vede k lepšímu ověření schématu na straně klienta.
Typ: | CimClass |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-CimSession
Spustí příkaz pomocí zadané relace CIM. Zadejte proměnnou, která obsahuje relaci CIM, nebo příkaz, který vytvoří nebo získá relaci CIM, například rutinyNew-CimSession
.Get-CimSession
Další informace najdete v tématu about_CimSession.
Typ: | CimSession[] |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-ClassName
Určuje název třídy CIM, pro kterou operace vytvoří instanci. POZNÁMKA: Pomocí dokončování tabulátoru můžete procházet seznam tříd, protože PowerShell získá seznam tříd z místního serveru WMI a poskytne seznam názvů tříd.
Typ: | String |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-ClientOnly
Označuje, že instance je vytvořena pouze v PowerShellu bez přechodu na server CIM. Tento parametr můžete použít k vytvoření instance CIM v paměti pro použití v následných operacích PowerShellu.
Typ: | SwitchParameter |
Aliasy: | Local |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ComputerName
Určuje název počítače, na kterém chcete spustit operaci CIM. Můžete zadat plně kvalifikovaný název domény (FQDN), název NetBIOS nebo IP adresu.
Pokud zadáte tento parametr, rutina vytvoří dočasnou relaci se zadaným počítačem pomocí protokolu WSMan.
Pokud tento parametr nezadáte, rutina provede operaci na místním počítači pomocí modelu COM (Component Object Model).
Pokud se na stejném počítači provádí více operací, poskytuje připojení pomocí relace CIM lepší výkon.
Typ: | String[] |
Aliasy: | CN, ServerName |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Confirm
Před spuštěním rutiny zobrazí výzvu k potvrzení.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Key
Určuje vlastnosti, které se používají jako klíče. CimSession a ComputerName nelze použít při zadání klíče .
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Namespace
Určuje obor názvů třídy pro novou instanci. Výchozí obor názvů je root/cimv2. Pomocí dokončování tabulátoru můžete procházet seznam oborů názvů, protože PowerShell získá seznam oborů názvů z místního serveru WMI a poskytne seznam oborů názvů.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-OperationTimeoutSec
Určuje dobu, po kterou rutina čeká na odpověď ze serveru CIM. Ve výchozím nastavení je hodnota tohoto parametru 0, což znamená, že rutina používá výchozí hodnotu časového limitu pro server. Pokud je parametr OperationTimeoutSec nastaven na hodnotu menší než robustní časový limit opakování připojení 3 minuty, chyby sítě, které trvaly více než hodnota parametru OperationTimeoutSec, se nedají obnovit, protože operace na serveru vyprší, než se klient může znovu připojit.
Typ: | UInt32 |
Aliasy: | OT |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Property
Určuje vlastnosti instance CIM pomocí tabulky hash (páry name-value).
Pokud zadáte parametr CimClass , New-CimInstance
pak rutina provede ověření vlastnosti na klientovi, aby se zajistilo, že zadané vlastnosti jsou konzistentní s deklarací třídy na serveru. Pokud není zadán parametr CimClass, provede se ověření vlastnosti na serveru.
Typ: | IDictionary |
Aliasy: | Arguments |
Position: | 1 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-ResourceUri
Určuje identifikátor URI (Uniform Resource Identifier) prostředku třídy prostředků nebo instance. Identifikátor URI slouží k identifikaci konkrétního typu prostředku, jako jsou disky nebo procesy, v počítači.
Identifikátor URI se skládá z předpony a cesty k prostředku. Příklad:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
Pokud tento parametr nezadáte, použije se standardní identifikátor URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
prostředku DMTF a název třídy se k němu připojí.
Identifikátor ResourceURI lze použít pouze s relacemi CIM vytvořenými pomocí protokolu WSMan nebo při zadávání parametru ComputerName , který vytvoří relaci CIM pomocí WSManu. Pokud tento parametr zadáte bez zadání parametru ComputerName nebo zadáte relaci CIM vytvořenou pomocí protokolu DCOM, zobrazí se chyba, protože protokol DCOM nepodporuje parametr ResourceURI .
Pokud je zadán parametr ResourceUri i parametr Filter, parametr Filter se ignoruje.
Typ: | Uri |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-WhatIf
Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
None
Do této rutiny nemůžete roušit objekty.
Výstupy
Tato rutina vrátí objekt, který obsahuje informace o instanci CIM.
Poznámky
PowerShell obsahuje následující aliasy pro New-CimInstance
:
- Windows:
ncim
Tato rutina je dostupná jenom na platformách Windows.