Delen via


New-CimInstance

Hiermee maakt u een CIM-exemplaar.

Syntax

ClassNameComputerSet (Standaard)

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

Description

De New-CimInstance cmdlet maakt een exemplaar van een CIM-klasse op basis van de klassedefinitie op de lokale computer of een externe computer.

Gebruik de parameter Eigenschap om de initiële waarden van de geselecteerde eigenschappen in te stellen.

De cmdlet New-CimInstance maakt standaard een exemplaar op de lokale computer.

Voorbeelden

Voorbeeld 1: Een exemplaar van een CIM-klasse maken

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

Met deze opdracht maakt u een exemplaar van een CIM-klasse met de naam win32_environment in de hoofd-/cimv2-naamruimte op de computer.

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 New-CimInstance cmdlet de zojuist gemaakte instantie uit.

Voorbeeld 2: Een exemplaar van een CIM-klasse maken met behulp van een klasseschema

$class = Get-CimClass -ClassName Win32_Environment



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

Met deze set opdrachten wordt een CIM-klasseobject opgehaald en opgeslagen in een variabele met de naam $class met behulp van de Get-CimClass-cmdlet. De inhoud van de variabele wordt vervolgens doorgegeven aan de cmdlet New-CimInstance.

Voorbeeld 3: Een dynamisch exemplaar maken op de client

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


Get-CimInstance -CimInstance $a


Invoke-CimMethod -CimInstance $a -MethodName GetOwner

Met deze set opdrachten maakt u een dynamisch exemplaar van een CIM-klasse met de naam win32_Process op de clientcomputer zonder dat het exemplaar van de server wordt opgehaald. Met deze set opdrachten wordt het dynamische exemplaar opgehaald en opgeslagen in een variabele met de naam $a en wordt de inhoud van de variabele doorgegeven aan de Get-CimInstance cmdlet. De Get-CimInstance cmdlet haalt vervolgens één exemplaar op en roept de GetOwner-methode aan met behulp van de Invoke-CimMethod-cmdlet.

Dit dynamische exemplaar kan worden gebruikt om bewerkingen uit te voeren als het exemplaar met deze sleutel op de server bestaat.

Voorbeeld 4: Een exemplaar maken voor een CIM-klasse van een specifieke naamruimte

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



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

Met deze set opdrachten wordt een exemplaar van een CIM-klasse met de naam MSFT_Something opgehaald in de hoofdmap van de naamruimte/ergens en wordt deze opgeslagen in een variabele met de naam $class met behulp van de cmdlet Get-CimClass. De inhoud van de variabele wordt vervolgens 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.

Als u bijvoorbeeld het exemplaar wilt valideren om ervoor te zorgen dat Prop1 en Prop2 daadwerkelijk bestaan en dat de sleutels juist zijn gemarkeerd, gebruikt u de CimClass-parameter in plaats van de parameter ClassName.

U kunt de parameter ComputerName of CimSession niet gebruiken met de parameter ClientOnly.

Parameters

-CimClass

Hiermee geeft u een CIM-klasseobject op dat het type van het exemplaar vertegenwoordigt.

U kunt de cmdlet Get-CimClass gebruiken om de klassedeclaratie van een computer op te halen.

Het gebruik van deze parameter resulteert in betere schemavalidaties aan de clientzijde.

Parametereigenschappen

Type:CimClass
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

CimClassSessionSet
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
CimClassComputerSet
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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_CimSessionsvoor meer informatie.

Parametereigenschappen

Type:

CimSession[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ClassNameSessionSet
Position:Named
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
ResourceUriSessionSet
Position:Named
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
CimClassSessionSet
Position:Named
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ClassNameComputerSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
ClassNameSessionSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten: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.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Lokaal

Parametersets

ClassNameComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
ClassNameSessionSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
CimClassSessionSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
CimClassComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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 Ws-Man-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.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:China, Servernaam

Parametersets

ClassNameComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
ResourceUriComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
CimClassComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Confirm

Voordat u de cmdlet uitvoert, vraagt het systeem om bevestiging.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Cf

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Key

Geeft de eigenschappen op die worden gebruikt als sleutels. CimSession en ComputerName kunnen niet worden gebruikt wanneer sleutel is opgegeven.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ClassNameComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
ClassNameSessionSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
ResourceUriSessionSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
ResourceUriComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Namespace

Specificeert de naamruimte van de klasse voor de nieuwe instantie.

De standaardnaamruimte is root/cimv2. OPMERKING: 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.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ClassNameComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
ClassNameSessionSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
ResourceUriSessionSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
ResourceUriComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten: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 3 minuten, kunnen netwerkfouten die meer duren dan de waarde van de parameter OperationTimeoutSec niet herstellen, omdat er een time-out optreedt voordat de client opnieuw verbinding kan maken.

Parametereigenschappen

Type:UInt32
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:OT

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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 CimClass-parameter niet is opgegeven, wordt de eigenschapsvalidatie uitgevoerd op de server.

Parametereigenschappen

Type:IDictionary
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Argumenten

Parametersets

(All)
Position:1
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-ResourceUri

Geeft de resource-uniform resource identifier (URI) van de resourceklasse of instantie op. 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. Voorbeeld:

https://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 behulp van 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 parameter ResourceURI niet ondersteunt.

Als zowel de parameter ResourceUri als de filterparameter zijn opgegeven, wordt de filterparameter genegeerd.

Parametereigenschappen

Type:Uri
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ResourceUriSessionSet
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
ResourceUriComputerSet
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-WhatIf

Toont wat er zou gebeuren wanneer de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Wi

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

None

Deze cmdlet accepteert geen invoerobjecten.

Uitvoerwaarden

Object

Met deze cmdlet wordt een object geretourneerd dat de CIM-exemplaargegevens bevat.