Sdílet prostřednictvím


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

CimInstance

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.