New-CimInstance
Skapar en CIM-instans.
Syntax
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
Den här cmdleten är endast tillgänglig på Windows-plattformen.
Cmdleten New-CimInstance
skapar en instans av en CIM-klass baserat på klassdefinitionen på antingen den lokala datorn eller en fjärrdator. Som standard skapar cmdleten New-CimInstance
en instans på den lokala datorn.
Exempel
Exempel 1: Skapa en instans av en CIM-klass
Det här exemplet skapar en instans av en CIM-klass med namnet win32_environment i namnområdet root/cimv2 på datorn.
New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";VariableValue="testvalue";UserName="domain\user"}
Ingen validering på klientsidan utförs om klassen inte finns, egenskaperna är felaktiga eller om servern avvisar anropet. Om instansen har skapats utdata cmdleten den nyligen skapade instansen.
Exempel 2: Skapa en instans av en CIM-klass med hjälp av ett klassschema
Det här exemplet hämtar ett CIM-klassobjekt och lagrar det i en variabel med namnet $class
. Innehållet i variabeln skickas sedan till cmdleten New-CimInstance
.
$class = Get-CimClass -ClassName Win32_Environment
New-CimInstance -CimClass $class -Property @{Name="testvar";VariableValue="testvalue";UserName="Contoso\User1"}
Exempel 3: Skapa en dynamisk instans på klienten
Det här exemplet skapar en dynamisk instans av en CIM-klass med namnet Win32_Process på klientdatorn utan att hämta instansen från servern. Den nya instansen lagras i variabeln $a
. Den här dynamiska instansen kan användas för att utföra åtgärder om instansen med den här nyckeln finns på servern.
$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 :
Cmdleten Get-CimInstance
hämtar sedan en viss enskild instans. Cmdleten Invoke-CimMethod
anropar metoden GetOwner på den hämtade instansen.
Exempel 4: Skapa en instans för en CIM-klass för ett specifikt namnområde
Det här exemplet hämtar en instans av en CIM-klass med namnet MSFT_Something i namnområdesroten /någonstans och lagrar den i en variabel med namnet $class
. Variabeln skickas till cmdleten New-CimInstance
för att skapa en ny CIM-instans och utföra valideringar på klientsidan på den nya instansen.
$class = Get-CimClass -ClassName MSFT_Something -Namespace root/somewhere
New-CimInstance -CimClass $class -Property @{"Prop1"=1;"Prop2"="value"} -ClientOnly
I det här exemplet verifierar användning av CimClass-parametern i stället för parametern ClassName att Prop1 och Prop2 faktiskt finns och att nycklarna är korrekt markerade.
Du kan inte använda parametern ComputerName eller CimSession med parametern ClientOnly .
Parametrar
-CimClass
Anger ett CIM-klassobjekt som representerar instanstypen. Använd cmdleten Get-CimClass
för att hämta klassdeklarationen från en dator. Med den här parametern resulterar det i bättre schemavalidering på klientsidan.
Type: | CimClass |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-CimSession
Kör kommandot med den angivna CIM-sessionen. Ange en variabel som innehåller CIM-sessionen eller ett kommando som skapar eller hämtar CIM-sessionen, till exempel New-CimSession
cmdletarna eller Get-CimSession
. Mer information finns i about_CimSession.
Type: | CimSession[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ClassName
Anger namnet på den CIM-klass som åtgärden skapar en instans av. Obs! Du kan använda tabbavslut för att bläddra i listan över klasser eftersom PowerShell hämtar en lista över klasser från den lokala WMI-servern för att tillhandahålla en lista med klassnamn.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ClientOnly
Anger att instansen bara skapas i PowerShell utan att gå till CIM-servern. Du kan använda den här parametern för att skapa en minnesintern CIM-instans för användning i efterföljande PowerShell-åtgärder.
Type: | SwitchParameter |
Aliases: | Local |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Anger namnet på den dator där du vill köra CIM-åtgärden. Du kan ange ett fullständigt domännamn (FQDN), ett NetBIOS-namn eller en IP-adress.
Om du anger den här parametern skapar cmdleten en tillfällig session till den angivna datorn med hjälp av WSMan-protokollet.
Om du inte anger den här parametern utför cmdleten åtgärden på den lokala datorn med hjälp av Komponentobjektmodell (COM).
Om flera åtgärder utförs på samma dator ger anslutning med en CIM-session bättre prestanda.
Type: | String[] |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Key
Anger de egenskaper som används som nycklar. CimSession och ComputerName kan inte användas när nyckeln har angetts.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Namespace
Anger klassens namnområde för den nya instansen. Standardnamnområdet är root/cimv2. Du kan använda tabbavslut för att bläddra i listan över namnområden, eftersom PowerShell hämtar en lista över namnområden från den lokala WMI-servern för att tillhandahålla listan över namnområden.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-OperationTimeoutSec
Anger hur lång tid cmdleten väntar på ett svar från CIM-servern. Som standard är värdet för den här parametern 0, vilket innebär att cmdleten använder standardvärdet för timeout för servern. Om parametern OperationTimeoutSec är inställd på ett värde som är mindre än den robusta tidsgränsen för återförsök av anslutningen på 3 minuter kan nätverksfel som varar mer än värdet för parametern OperationTimeoutSec inte återställas, eftersom åtgärden på servern överskrider tidsgränsen innan klienten kan återansluta.
Type: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
Anger egenskaperna för CIM-instansen med hjälp av en hash-tabell (namn/värde-par).
Om du anger CimClass-parametern utför cmdleten New-CimInstance
en egenskapsverifiering på klienten för att se till att de angivna egenskaperna överensstämmer med klassdeklarationen på servern. Om CimClass-parametern inte har angetts görs egenskapsverifieringen på servern.
Type: | IDictionary |
Aliases: | Arguments |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ResourceUri
Anger resursens enhetliga resursidentifierare (URI) för resursklassen eller instansen. URI:n används för att identifiera en specifik typ av resurs, till exempel diskar eller processer, på en dator.
En URI består av ett prefix och en sökväg till en resurs. Till exempel:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
Om du inte anger den här parametern används standardresurs-URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
:n för DMTF som standard och klassnamnet läggs till i den.
ResourceURI kan endast användas med CIM-sessioner som skapats med hjälp av WSMan-protokollet, eller när du anger parametern ComputerName , som skapar en CIM-session med hjälp av WSMan. Om du anger den här parametern utan att ange parametern ComputerName , eller om du anger en CIM-session som skapats med DCOM-protokollet, får du ett fel eftersom DCOM-protokollet inte stöder ResourceURI-parametern .
Om både ResourceUri-parametern och filterparametern anges ignoreras filterparametern.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indata
None
Du kan inte skicka objekt till den här cmdleten.
Utdata
Den här cmdleten returnerar ett objekt som innehåller CIM-instansinformationen.
Kommentarer
PowerShell innehåller följande alias för New-CimInstance
:
- Windows:
ncim
Den här cmdleten är endast tillgänglig på Windows-plattformar.
Relaterade länkar
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för