Dela via


New-CimInstance

Skapar en CIM-instans.

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

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

I det här exemplet skapas en instans av en CIM-klass med namnet Win32_Environment i namnområdet root/CIMV2 på datorn.

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

Ingen validering på klientsidan utförs om klassen inte finns, egenskaperna är felaktiga eller om servern avvisar anropet. Om instansen skapas framgångsrikt, så ger cmdleten ut 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
$prop = @{
    Name = "testvar"
    VariableValue = "testvalue"
    UserName = "Contoso\User1"
}
New-CimInstance -CimClass $class -Property $prop

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.

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

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ådet rot/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 kontrollerar parametern CimClass i stället för parametern ClassName att Prop1- och Prop2- faktiskt finns och att nycklarna har markerats korrekt.

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.

Parameteregenskaper

Typ:CimClass
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CimClassSessionSet
Position:0
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CimClassComputerSet
Position:0
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 cmdletarna New-CimSession eller Get-CimSession. Mer information finns i about_CimSession.

Parameteregenskaper

Typ:

CimSession[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ClassNameSessionSet
Position:Named
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
ResourceUriSessionSet
Position:Named
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CimClassSessionSet
Position:Named
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ClassNameComputerSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
ClassNameSessionSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Lokal

Parameteruppsättningar

ClassNameComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
ClassNameSessionSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CimClassSessionSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CimClassComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:CN, Servernamn

Parameteruppsättningar

ClassNameComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
ResourceUriComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
CimClassComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:jfr

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Key

Anger de egenskaper som används som nycklar. CimSession och ComputerName kan inte användas när Key anges.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ClassNameComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
ClassNameSessionSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
ResourceUriSessionSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
ResourceUriComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ClassNameComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
ClassNameSessionSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
ResourceUriSessionSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
ResourceUriComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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 anges till ett värde som är mindre än den robusta tidsgränsen för återförsök 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.

Parameteregenskaper

Typ:UInt32
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:OT

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Property

Anger egenskaperna för CIM-instansen med hjälp av en hash-tabell (namn/värde-par).

Om du anger parametern CimClass 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 parametern CimClass inte anges görs egenskapsverifieringen på servern.

Parameteregenskaper

Typ:IDictionary
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Argumentpunkter

Parameteruppsättningar

(All)
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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 som standard URI för DMTF-standardresursen http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ och klassnamnet läggs till i den.

ResourceUri- kan bara 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 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 parametern ResourceUri.

Om både parametern ResourceUri och parametern Filter anges ignoreras parametern Filter.

Parameteregenskaper

Typ:Uri
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ResourceUriSessionSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
ResourceUriComputerSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-WhatIf

Visar vad som skulle hända om kommandot körs. Cmdleten körs inte.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:Wi

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

None

Du kan inte skicka objekt till den här cmdleten.

Utdata

CimInstance

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.