New-CimInstance

建立一個 CIM 實例。

語法

ClassNameComputerSet (預設值)

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

此 Cmdlet 只能在 Windows 平臺上使用。

New-CimInstance指令長檔根據類別定義在本地電腦或遠端電腦上建立一個 CIM 類別的實例。 預設情況下,該 New-CimInstance 指令長會在本地電腦建立實例。

範例

範例 1:建立一個 CIM 類別的實例

此範例在電腦的根/CIMV2命名空間中建立一個名為 Win32_Environment 的 CIM 類別實例。

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

若類別不存在、屬性錯誤,或伺服器拒絕呼叫,則不會進行用戶端驗證。 若實例成功建立,指令長會輸出新建立的實例。

範例 2:使用類別結構建立一個 CIM 類別的實例

此範例會取得一個 CIM 類別物件並將其儲存在名為 $class的變數中。 變數的內容接著會傳給 New-CimInstance cmdlet。

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

範例 3:在客戶端建立動態實例

此範例在用戶端電腦上建立名為 Win32_Process 的 CIM 類別的動態實例,且未從伺服器取得實例。 新實例儲存在變數 $a中。 如果伺服器上存在此金鑰的實例,這個動態實例可用來執行操作。

$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 :

Get-CimInstance指令本接著會擷取一個特定的單一實例。 Invoke-CimMethod指令長會呼叫檢索實例上的 GetOwner 方法。

範例 4:為特定命名空間的 CIM 類別建立實例

這個範例是在命名空間的根源/某處取得一個名為 MSFT_Something 的 CIM 類別實例,並將其儲存在一個名為 $class的變數中。 變數會傳給 cmdlet, New-CimInstance 以建立新的 CIM 實例並對新實例進行客戶端驗證。

$class = Get-CimClass -ClassName MSFT_Something -Namespace root/somewhere
New-CimInstance -CimClass $class -Property @{"Prop1"=1;"Prop2"="value"} -ClientOnly

在此範例中,使用 CimClass 參數取代 ClassName 參數,可驗證 Prop1 與 Prop2 的真實存在,且鍵值標記正確。

你不能將 ComputerName 或 CimSession 參數與 ClientOnly 參數一起使用。

參數

-CimClass

指定一個代表實例型別的 CIM 類別物件。 使用 Get-CimClass cmdlet 從電腦取得類別宣告。 使用此參數會導致更好的客戶端架構驗證。

參數屬性

類型:CimClass
預設值:None
支援萬用字元:False
不要顯示:False

參數集

CimClassSessionSet
Position:0
必要:True
來自管線的值:True
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
CimClassComputerSet
Position:0
必要:True
來自管線的值:True
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-CimSession

使用指定的 CIM 作業階段執行命令。 輸入包含 CIM 會話的變數,或輸入建立或取得 CIM 會話的命令,例如 New-CimSession 或 Get-CimSession cmdlet。 如需詳細資訊,請參閱 about_CimSession。

參數屬性

類型:

CimSession[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

ClassNameSessionSet
Position:Named
必要:True
來自管線的值:True
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ResourceUriSessionSet
Position:Named
必要:True
來自管線的值:True
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
CimClassSessionSet
Position:Named
必要:True
來自管線的值:True
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ClassName

指定操作所建立實例的 CIM 類別名稱。 注意:你可以用分頁完成功能來瀏覽類別清單,因為 PowerShell 會從本地 WMI 伺服器取得類別清單,提供類別名稱清單。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

ClassNameComputerSet
Position:0
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
ClassNameSessionSet
Position:0
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-ClientOnly

表示該實例僅在 PowerShell 中建立,且未進入 CIM 伺服器。 你可以利用這個參數建立記憶體內的 CIM 實例,用於後續的 PowerShell 操作。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False
別名:本地

參數集

ClassNameComputerSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ClassNameSessionSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
CimClassSessionSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
CimClassComputerSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ComputerName

指定您要執行 CIM 作業的電腦名稱。 您可以指定完全合格的域名(FQDN)、NetBIOS 名稱或 IP 位址。

若您指定此參數,指令本會使用 WSMan 協定建立對指定電腦的臨時會話。

如果您未指定此參數,Cmdlet 會使用元件物件模型 (COM) 在本機計算機上執行作業。

如果在相同電腦上執行多個作業,則使用 CIM 作業進行連線可提供更佳的效能。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:False
不要顯示:False
別名:中國, 伺服器名稱

參數集

ClassNameComputerSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
ResourceUriComputerSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
CimClassComputerSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Confirm

在執行 Cmdlet 之前,提示您進行確認。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:參見

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Key

指定用作鍵的屬性。 當指定 Key 時,無法使用 CimSession 和 ComputerName。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

ClassNameComputerSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
ClassNameSessionSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
ResourceUriSessionSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
ResourceUriComputerSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Namespace

指定新實例類別的命名空間。 預設命名空間 根/CIMV2。 您可以使用標籤補全功能來瀏覽命名空間清單,因為 PowerShell 會從本機 WMI 伺服器獲取命名空間來提供此清單。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

ClassNameComputerSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
ClassNameSessionSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
ResourceUriSessionSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
ResourceUriComputerSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-OperationTimeoutSec

指定指令長等待 CIM 伺服器回應的時間長短。 根據預設,此參數的值是0,這表示 Cmdlet 會使用伺服器的預設逾時值。 如果 OperationTimeoutSec 參數設定為小於 3 分鐘的穩固連線重試逾時,則當網路故障持續時間超過 OperationTimeoutSec 參數的值時,將無法復原,因為伺服器上的操作會在客戶端重新連接之前超時。

參數屬性

類型:UInt32
預設值:None
支援萬用字元:False
不要顯示:False
別名:OT

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Property

利用雜湊表(名稱與值對)指定 CIM 實例的屬性。

如果你指定 CimClass 參數,指令 New-CimInstance 本會在用戶端執行屬性驗證,確保指定的屬性與伺服器上的類別宣告一致。 若未指定 CimClass 參數,則屬性驗證會在伺服器端進行。

參數屬性

類型:IDictionary
預設值:None
支援萬用字元:False
不要顯示:False
別名:Arguments

參數集

(All)
Position:1
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-ResourceUri

指定資源類別或實例的資源統一資源標識碼(URI)。 URI 可用來識別電腦上的特定資源類型,例如磁碟或進程。

URI 包含前置詞和資源的路徑。 例如:

http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings

根據預設,如果您未指定此參數,則會使用 DMTF 標準資源 URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/,並將類別名稱附加至該參數。

ResourceUri 只能與使用 WSMan 通訊協定建立的 CIM 會話搭配使用,或在指定使用 WSMan 建立 CIM 會話的 ComputerName 參數時使用。 如果您未指定 ComputerName 參數,或指定使用 DCOM 通訊協定建立的 CIM 會話,您會收到錯誤,因為 DCOM 通訊協定不支援 ResourceUri 參數。

如果同時指定 ResourceUri 參數和 Filter 參數,則會忽略 Filter 參數。

參數屬性

類型:Uri
預設值:None
支援萬用字元:False
不要顯示:False

參數集

ResourceUriSessionSet
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
ResourceUriComputerSet
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-WhatIf

顯示 Cmdlet 執行時會發生什麼事。 指令未執行。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:威斯康辛

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

CommonParameters

此 cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。

輸入

None

您不能將物件透過管道傳送到此 Cmdlet。

輸出

CimInstance

此 cmdlet 會回傳包含 CIM 實例資訊的物件。

備註

PowerShell 包含下列 New-CimInstance的別名:

  • 窗戶:
    • ncim

此 Cmdlet 僅適用於 Windows 平臺。