Freigeben über


New-CimInstance

Erstellt eine CIM-Instanz.

Syntax

ClassNameComputerSet (Standard)

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>]

CimClassComputerSet

New-CimInstance
    [-CimClass] <CimClass>
    [[-Property] <IDictionary>]
    [-OperationTimeoutSec <UInt32>]
    [-ComputerName <String[]>]
    [-ClientOnly]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimClassSessionSet

New-CimInstance
    [-CimClass] <CimClass>
    [[-Property] <IDictionary>]
    -CimSession <CimSession[]>
    [-OperationTimeoutSec <UInt32>]
    [-ClientOnly]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Beschreibung

Das Cmdlet New-CimInstance erstellt eine Instanz einer CIM-Klasse basierend auf der Klassendefinition auf dem lokalen Computer oder einem Remotecomputer.

Verwenden Sie den Property-Parameter, um die Anfangswerte der ausgewählten Eigenschaften festzulegen.

Standardmäßig erstellt das Cmdlet New-CimInstance eine Instanz auf dem lokalen Computer.

Beispiele

Beispiel 1: Erstellen einer Instanz einer CIM-Klasse

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

Mit diesem Befehl wird eine Instanz einer CIM-Klasse namens win32_environment im Root/cimv2-Namespace auf dem Computer erstellt.

Es wird keine clientseitige Überprüfung ausgeführt, wenn die Klasse nicht vorhanden ist, die Eigenschaften falsch sind oder der Server den Aufruf ablehnt.

Wenn die Instanz erfolgreich erstellt wird, gibt das cmdlet New-CimInstance die neu erstellte Instanz aus.

Beispiel 2: Erstellen einer Instanz einer CIM-Klasse mithilfe eines Klassenschemas

$class = Get-CimClass -ClassName Win32_Environment



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

Dieser Satz von Befehlen ruft ein CIM-Klassenobjekt ab und speichert es in einer Variablen namens $class mithilfe des cmdlets Get-CimClass. Der Inhalt der Variablen wird dann an das Cmdlet New-CimInstance übergeben.

Beispiel 3: Erstellen einer dynamischen Instanz auf dem Client

$a = New-CimInstance -ClassName Win32_Process -Property @{Handle=0} -Key Handle -ClientOnly


Get-CimInstance -CimInstance $a


Invoke-CimMethod -CimInstance $a -MethodName GetOwner

Dieser Satz von Befehlen erstellt eine dynamische Instanz einer CIM-Klasse namens win32_Process auf dem Clientcomputer, ohne die Instanz vom Server zu erhalten. Dieser Satz von Befehlen ruft die dynamische Instanz ab und speichert sie in einer Variablen namens $a und übergibt den Inhalt der Variablen an das Cmdlet Get-CimInstance. Das cmdlet Get-CimInstance ruft dann eine bestimmte einzelne Instanz ab und ruft die GetOwner-Methode mithilfe des cmdlets Invoke-CimMethod auf.

Diese dynamische Instanz kann verwendet werden, um Vorgänge auszuführen, wenn die Instanz mit diesem Schlüssel auf dem Server vorhanden ist.

Beispiel 4: Erstellen einer Instanz für eine CIM-Klasse eines bestimmten Namespaces

$class = Get-CimClass -ClassName MSFT_Something -Namespace root/somewhere



New-CimInstance -CimClass $class -Property @{"Prop1"=1;"Prop2"="value"} -ClientOnly

Dieser Satz von Befehlen ruft eine Instanz einer CIM-Klasse mit dem Namen MSFT_Something im Namespacestamm/an einer beliebigen Stelle ab und speichert sie in einer Variablen namens $class mithilfe des Cmdlets Get-CimClass. Der Inhalt der Variablen wird dann an das Cmdlet New-CimInstance übergeben, um eine neue CIM-Instanz zu erstellen und clientseitige Überprüfungen für die neue Instanz durchzuführen.

Wenn Sie die Instanz überprüfen möchten, um beispielsweise sicherzustellen, dass Prop1 und Prop2 tatsächlich vorhanden sind und dass die Schlüssel richtig gekennzeichnet sind, verwenden Sie den CimClass-Parameter anstelle des Parameters "ClassName".

Sie können den Parameter ComputerName oder CimSession nicht mit dem Parameter "ClientOnly" verwenden.

Parameter

-CimClass

Gibt ein CIM-Klassenobjekt an, das den Typ der Instanz darstellt.

Sie können das cmdlet Get-CimClass verwenden, um die Klassendeklaration von einem Computer abzurufen.

Die Verwendung dieses Parameters führt zu besseren clientseitigen Schemaüberprüfungen.

Parametereigenschaften

Typ:CimClass
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

CimClassSessionSet
Position:0
Obligatorisch:True
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
CimClassComputerSet
Position:0
Obligatorisch:True
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-CimSession

Führt den Befehl mithilfe der angegebenen CIM-Sitzung aus. Geben Sie eine Variable ein, die die CIM-Sitzung enthält, oder einen Befehl, der die CIM-Sitzung erstellt oder abruft, z. B. die New-CimSession- oder Get-CimSession-Cmdlets. Weitere Informationen finden Sie unter about_CimSessions.

Parametereigenschaften

Typ:

CimSession[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ClassNameSessionSet
Position:Named
Obligatorisch:True
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
ResourceUriSessionSet
Position:Named
Obligatorisch:True
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
CimClassSessionSet
Position:Named
Obligatorisch:True
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ClassName

Gibt den Namen der CIM-Klasse an, von der der Vorgang eine Instanz erstellt. HINWEIS: Sie können die Tab-Vervollständigung verwenden, um die Liste der Klassen zu durchsuchen, da PowerShell eine Liste von Klassen vom lokalen WMI-Server abruft, um die Klassennamen bereitzustellen.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ClassNameComputerSet
Position:0
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
ClassNameSessionSet
Position:0
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-ClientOnly

Gibt an, dass die Instanz nur in PowerShell erstellt wird, ohne zum CIM-Server zu wechseln. Sie können diesen Parameter verwenden, um eine CIM-Instanz im Arbeitsspeicher für die Verwendung in nachfolgenden PowerShell-Vorgängen zu erstellen.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:Lokal

Parametersätze

ClassNameComputerSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
ClassNameSessionSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
CimClassSessionSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
CimClassComputerSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ComputerName

Gibt den Namen des Computers an, auf dem Der CIM-Vorgang ausgeführt werden soll. Sie können einen vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN), einen NetBIOS-Namen oder eine IP-Adresse angeben.

Wenn Sie diesen Parameter angeben, erstellt das Cmdlet mithilfe des Ws-Man-Protokolls eine temporäre Sitzung auf dem angegebenen Computer.

Wenn Sie diesen Parameter nicht angeben, führt das Cmdlet den Vorgang auf dem lokalen Computer mithilfe des Component Object Model (COM) aus.

Wenn mehrere Vorgänge auf demselben Computer ausgeführt werden, bietet die Verbindung mit einer CIM-Sitzung eine bessere Leistung.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:China, Servername

Parametersätze

ClassNameComputerSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
ResourceUriComputerSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
CimClassComputerSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Confirm

Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:vgl

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Key

Gibt die Eigenschaften an, die als Schlüssel verwendet werden. CimSession und ComputerName können nicht verwendet werden, wenn Key angegeben wird.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ClassNameComputerSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
ClassNameSessionSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
ResourceUriSessionSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
ResourceUriComputerSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Namespace

Gibt den Namespace der Klasse für die neue Instanz an.

Der Standardnamespace ist root/cimv2. HINWEIS: Sie können den Tabstoppabschluss verwenden, um die Liste der Namespaces zu durchsuchen, da PowerShell eine Liste von Namespaces vom lokalen WMI-Server abruft, um die Liste der Namespaces bereitzustellen.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ClassNameComputerSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
ClassNameSessionSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
ResourceUriSessionSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
ResourceUriComputerSet
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-OperationTimeoutSec

Gibt die Zeitspanne an, die das Cmdlet auf eine Antwort vom CIM-Server wartet.

Standardmäßig ist der Wert dieses Parameters 0, was bedeutet, dass das Cmdlet den Standardtimeoutwert für den Server verwendet.

Wenn der Parameter OperationTimeoutSec auf einen Wert festgelegt ist, der kleiner als das robuste Verbindungsretrytimeout von 3 Minuten ist, können Netzwerkfehler, die mehr als der Wert des OperationTimeoutSec-Parameters dauern, nicht wiederhergestellt werden, da der Vorgang auf dem Server zu einem Timeout vor dem erneuten Herstellen der Verbindung führen kann.

Parametereigenschaften

Typ:UInt32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:OT

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Property

Gibt die Eigenschaften der CIM-Instanz mithilfe einer Hashtabelle (Name-Wert-Paare) an.

Wenn Sie den CimClass-Parameter angeben, führt das cmdlet New-CimInstance eine Eigenschaftsprüfung auf dem Client durch, um sicherzustellen, dass die angegebenen Eigenschaften mit der Klassendeklaration auf dem Server konsistent sind. Wenn der CimClass-Parameter nicht angegeben ist, erfolgt die Eigenschaftenüberprüfung auf dem Server.

Parametereigenschaften

Typ:IDictionary
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:Argumente

Parametersätze

(All)
Position:1
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-ResourceUri

Gibt den URI (Uniform Resource Identifier) der Ressourcenklasse oder -instanz an. Der URI wird verwendet, um einen bestimmten Ressourcentyp zu identifizieren, z. B. Datenträger oder Prozesse, auf einem Computer.

Ein URI besteht aus einem Präfix und einem Pfad zu einer Ressource. Beispiel:

https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings

Wenn Sie diesen Parameter nicht angeben, wird standardmäßig der URI der DMTF-Standardressource http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ verwendet, und der Klassenname wird daran angefügt.

ResourceURI kann nur mit CIM-Sitzungen verwendet werden, die mit dem WSMan-Protokoll erstellt wurden, oder beim Angeben des ComputerName-Parameters, der eine CIM-Sitzung mit WSMan erstellt. Wenn Sie diesen Parameter ohne Angabe des ComputersName-Parameters angeben oder eine MIT DCOM-Protokoll erstellte CIM-Sitzung angeben, wird ein Fehler angezeigt, da das DCOM-Protokoll den ResourceURI-Parameter nicht unterstützt.

Wenn sowohl der Parameter "ResourceUri" als auch der Parameter "Filter" angegeben werden, wird der Parameter "Filter" ignoriert.

Parametereigenschaften

Typ:Uri
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ResourceUriSessionSet
Position:Named
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
ResourceUriComputerSet
Position:Named
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-WhatIf

Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:Wi

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

None

Dieses Cmdlet akzeptiert keine Eingabeobjekte.

Ausgaben

Object

Dieses Cmdlet gibt ein Objekt zurück, das die CIM-Instanzinformationen enthält.