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>]
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>]
Beschreibung
Dieses Cmdlet ist nur auf der Windows-Plattform verfügbar.
Das Cmdlet New-CimInstance erstellt eine Instanz einer CIM-Klasse basierend auf der Klassendefinition auf dem lokalen Computer oder einem Remotecomputer. Standardmäßig erstellt das Cmdlet New-CimInstance eine Instanz auf dem lokalen Computer.
Beispiele
Beispiel 1: Erstellen einer Instanz einer CIM-Klasse
In diesem Beispiel wird eine Instanz einer CIM-Klasse namens win32_environment im Root/cimv2-Namespace auf dem Computer erstellt.
New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";VariableValue="testvalue";UserName="domain\user"}
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 die neu erstellte Instanz aus.
Beispiel 2: Erstellen einer Instanz einer CIM-Klasse mithilfe eines Klassenschemas
In diesem Beispiel wird ein CIM-Klassenobjekt abgerufen und in einer Variablen namens $classgespeichert. Der Inhalt der Variablen wird dann an das Cmdlet New-CimInstance übergeben.
$class = Get-CimClass -ClassName Win32_Environment
New-CimInstance -CimClass $class -Property @{Name="testvar";VariableValue="testvalue";UserName="Contoso\User1"}
Beispiel 3: Erstellen einer dynamischen Instanz auf dem Client
In diesem Beispiel wird eine dynamische Instanz einer CIM-Klasse namens Win32_Process auf dem Clientcomputer erstellt, ohne die Instanz vom Server zu erhalten. Die neue Instanz wird in der Variablen $agespeichert. Diese dynamische Instanz kann verwendet werden, um Vorgänge auszuführen, wenn die Instanz mit diesem Schlüssel auf dem Server vorhanden ist.
$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 :
Das cmdlet Get-CimInstance ruft dann eine bestimmte einzelne Instanz ab. Das cmdlet Invoke-CimMethod ruft die GetOwner-Methode für die abgerufene Instanz auf.
Beispiel 4: Erstellen einer Instanz für eine CIM-Klasse eines bestimmten Namespaces
In diesem Beispiel wird eine Instanz einer CIM-Klasse namens MSFT_Something im Namespace root/somewhere abgerufen und in einer Variablen namens $classgespeichert. Die Variable wird an das Cmdlet New-CimInstance übergeben, um eine neue CIM-Instanz zu erstellen und clientseitige Überprüfungen für die neue Instanz durchzuführen.
$class = Get-CimClass -ClassName MSFT_Something -Namespace root/somewhere
New-CimInstance -CimClass $class -Property @{"Prop1"=1;"Prop2"="value"} -ClientOnly
In diesem Beispiel wird durch Verwenden des Parameters CimClass anstelle des parameters ClassName überprüft, ob Prop1 und Prop2- tatsächlich vorhanden sind und dass die Schlüssel richtig gekennzeichnet sind.
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. Verwenden Sie das Cmdlet Get-CimClass, 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_CimSession.
Parametereigenschaften
| Typ: | |
| 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 WSMan-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. Sie können die Registerkartenvervollständigung verwenden, um die Liste der Namespaces zu durchsuchen, da PowerShell eine Liste der 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 OperationTimeoutSec-Parameter auf einen Wert festgelegt ist, der kleiner als das robuste Verbindungswiederholungszeitlimit von 3 Minuten ist, können Netzwerkfehler, die länger als den Wert des OperationTimeoutSec-Parameters dauern, nicht wiederhergestellt werden, da der Vorgang auf dem Server überschritten wird, bevor der Client die Verbindung erneut herstellen 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 parameter CimClass angeben, führt das cmdlet New-CimInstance eine Eigenschaftenüberprüfung auf dem Client aus, 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:
http://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 bei Angabe des Parameters ComputerName, der eine CIM-Sitzung mit WSMan erstellt. Wenn Sie diesen Parameter angeben, ohne den parameter ComputerName anzugeben, oder wenn Sie 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
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
CimInstance
Dieses Cmdlet gibt ein Objekt zurück, das die CIM-Instanzinformationen enthält.
Hinweise
PowerShell enthält die folgenden Aliase für New-CimInstance:
- Fenster:
ncim
Dieses Cmdlet ist nur auf Windows-Plattformen verfügbar.