New-CimInstance
Hiermee maakt u een CIM-exemplaar.
Syntaxis
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
Deze cmdlet is alleen beschikbaar op het Windows-platform.
De New-CimInstance
cmdlet maakt een exemplaar van een CIM-klasse op basis van de klassedefinitie op de lokale computer of een externe computer. De cmdlet New-CimInstance
maakt standaard een exemplaar op de lokale computer.
Voorbeelden
Voorbeeld 1: Een exemplaar van een CIM-klasse maken
In dit voorbeeld wordt een exemplaar gemaakt van een CIM-klasse met de naam win32_environment in de hoofd-/cimv2-naamruimte op de computer.
New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";VariableValue="testvalue";UserName="domain\user"}
Er wordt geen validatie aan de clientzijde uitgevoerd als de klasse niet bestaat, de eigenschappen zijn onjuist of als de server de aanroep weigert. Als het exemplaar is gemaakt, voert de cmdlet de zojuist gemaakte instantie uit.
Voorbeeld 2: Een exemplaar van een CIM-klasse maken met behulp van een klasseschema
In dit voorbeeld wordt een CIM-klasseobject opgehaald en opgeslagen in een variabele met de naam $class
. De inhoud van de variabele wordt vervolgens doorgegeven aan de cmdlet New-CimInstance
.
$class = Get-CimClass -ClassName Win32_Environment
New-CimInstance -CimClass $class -Property @{Name="testvar";VariableValue="testvalue";UserName="Contoso\User1"}
Voorbeeld 3: Een dynamisch exemplaar maken op de client
In dit voorbeeld wordt een dynamisch exemplaar gemaakt van een CIM-klasse met de naam Win32_Process op de clientcomputer zonder dat het exemplaar van de server wordt opgehaald. Het nieuwe exemplaar wordt opgeslagen in de variabele $a
. Dit dynamische exemplaar kan worden gebruikt om bewerkingen uit te voeren als het exemplaar met deze sleutel op de server bestaat.
$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 :
De Get-CimInstance
-cmdlet haalt vervolgens één exemplaar op. De Invoke-CimMethod
-cmdlet roept de methode GetOwner aan op het opgehaalde exemplaar.
Voorbeeld 4: Een exemplaar maken voor een CIM-klasse van een specifieke naamruimte
In dit voorbeeld wordt een exemplaar van een CIM-klasse met de naam MSFT_Something opgehaald in de naamruimte root/ergens en wordt deze opgeslagen in een variabele met de naam $class
. De variabele wordt doorgegeven aan de New-CimInstance
-cmdlet om een nieuw CIM-exemplaar te maken en validaties aan de clientzijde uit te voeren op het nieuwe exemplaar.
$class = Get-CimClass -ClassName MSFT_Something -Namespace root/somewhere
New-CimInstance -CimClass $class -Property @{"Prop1"=1;"Prop2"="value"} -ClientOnly
In dit voorbeeld valideert het gebruik van de parameter CimClass in plaats van de parameter ClassName dat Prop1 en Prop2 bestaan en dat de sleutels correct zijn gemarkeerd.
U kunt de parameter ComputerName of CimSession parameter niet gebruiken met de parameter ClientOnly.
Parameters
-CimClass
Hiermee geeft u een CIM-klasseobject op dat het type van het exemplaar vertegenwoordigt. Gebruik de cmdlet Get-CimClass
om de klassedeclaratie van een computer op te halen. Het gebruik van deze parameter resulteert in betere schemavalidaties aan de clientzijde.
Type: | CimClass |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-CimSession
Voert de opdracht uit met behulp van de opgegeven CIM-sessie. Voer een variabele in die de CIM-sessie bevat of een opdracht waarmee de CIM-sessie wordt gemaakt of ophaalt, zoals de New-CimSession
of Get-CimSession
cmdlets. Zie about_CimSessionvoor meer informatie.
Type: | CimSession[] |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ClassName
Hiermee geeft u de naam op van de CIM-klasse waarvan de bewerking een exemplaar maakt. OPMERKING: U kunt tabvoltooiing gebruiken om door de lijst met klassen te bladeren, omdat PowerShell een lijst met klassen ophaalt van de lokale WMI-server om een lijst met klassennamen op te geven.
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ClientOnly
Geeft aan dat het exemplaar alleen wordt gemaakt in PowerShell zonder naar de CIM-server te gaan. U kunt deze parameter gebruiken om een CIM-exemplaar in het geheugen te maken voor gebruik in volgende PowerShell-bewerkingen.
Type: | SwitchParameter |
Aliassen: | Local |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ComputerName
Hiermee geeft u de naam van de computer waarop u de CIM-bewerking wilt uitvoeren. U kunt een FQDN (Fully Qualified Domain Name), een NetBIOS-naam of een IP-adres opgeven.
Als u deze parameter opgeeft, maakt de cmdlet een tijdelijke sessie naar de opgegeven computer met behulp van het WSMan-protocol.
Als u deze parameter niet opgeeft, voert de cmdlet de bewerking uit op de lokale computer met behulp van Component Object Model (COM).
Als er meerdere bewerkingen op dezelfde computer worden uitgevoerd, kunt u beter verbinding maken met een CIM-sessie.
Type: | String[] |
Aliassen: | CN, ServerName |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Confirm
U wordt gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Key
Hiermee geeft u de eigenschappen die worden gebruikt als sleutels. CimSession en ComputerName kan niet worden gebruikt wanneer Sleutel is opgegeven.
Type: | String[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Namespace
Hiermee geeft u de naamruimte van de klasse voor het nieuwe exemplaar. De standaardnaamruimte is root/cimv2. U kunt tabvoltooiing gebruiken om door de lijst met naamruimten te bladeren, omdat PowerShell een lijst met naamruimten ophaalt van de lokale WMI-server om de lijst met naamruimten op te geven.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-OperationTimeoutSec
Hiermee geeft u de hoeveelheid tijd op die de cmdlet wacht op een reactie van de CIM-server. De waarde van deze parameter is standaard 0, wat betekent dat de cmdlet de standaardtime-outwaarde voor de server gebruikt. Als de parameter OperationTimeoutSec is ingesteld op een waarde die kleiner is dan de robuuste time-out voor opnieuw proberen van de verbinding van 3 minuten, kunnen netwerkfouten die meer duren dan de waarde van de parameter OperationTimeoutSec niet herstellen, omdat de bewerking op de server een time-out optreedt voordat de client opnieuw verbinding kan maken.
Type: | UInt32 |
Aliassen: | OT |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Property
Hiermee geeft u de eigenschappen van het CIM-exemplaar op met behulp van een hash-tabel (naam-waardeparen).
Als u de CimClass parameter opgeeft, voert de New-CimInstance
cmdlet een eigenschapsvalidatie uit op de client om ervoor te zorgen dat de opgegeven eigenschappen consistent zijn met de klassedeclaratie op de server. Als de parameter CimClass niet is opgegeven, wordt de eigenschapsvalidatie uitgevoerd op de server.
Type: | IDictionary |
Aliassen: | Arguments |
Position: | 1 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ResourceUri
Hiermee geeft u de resource uniform resource identifier (URI) van de resourceklasse of het exemplaar. De URI wordt gebruikt om een specifiek type resource, zoals schijven of processen, op een computer te identificeren.
Een URI bestaat uit een voorvoegsel en een pad naar een resource. Bijvoorbeeld:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
Als u deze parameter niet opgeeft, wordt standaard de DMTF-standaardresource-URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
gebruikt en wordt de klassenaam eraan toegevoegd.
ResourceURI- kan alleen worden gebruikt met CIM-sessies die zijn gemaakt met het WSMan-protocol of wanneer u de parameter ComputerName opgeeft, waarmee een CIM-sessie wordt gemaakt met WSMan. Als u deze parameter opgeeft zonder de parameter ComputerName op te geven of als u een CIM-sessie opgeeft die is gemaakt met het DCOM-protocol, krijgt u een foutmelding omdat het DCOM-protocol de ResourceURI- parameter niet ondersteunt.
Als zowel de parameter ResourceUri als de parameter Filter zijn opgegeven, wordt de parameter Filter genegeerd.
Type: | Uri |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-WhatIf
Toont wat er zou gebeuren als de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
None
U kunt geen objecten doorsluisen naar deze cmdlet.
Uitvoerwaarden
Met deze cmdlet wordt een object geretourneerd dat de CIM-exemplaargegevens bevat.
Notities
PowerShell bevat de volgende aliassen voor New-CimInstance
:
- Ramen:
ncim
Deze cmdlet is alleen beschikbaar op Windows-platforms.