共用方式為


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 Cmdlet 會根據本機電腦或遠端電腦上的類別定義,建立 CIM 類別的實例。 根據預設,New-CimInstance Cmdlet 會在本機電腦上建立實例。

範例

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

此範例會在電腦上的 root/cimv2 命名空間中,建立名為 win32_environment 的 CIM 類別實例。

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

如果類別不存在、屬性錯誤,或伺服器拒絕呼叫,則不會執行客戶端驗證。 如果成功建立實例,Cmdlet 會輸出新建立的實例。

範例 2:使用類別架構建立 CIM 類別的實例

此範例會擷取 CIM 類別物件,並將其儲存在名為 $class的變數中。 變數的內容接著會傳遞至 New-CimInstance Cmdlet。

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

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

此範例會在用戶端計算機上建立名為 Win32_Process 之 CIM 類別的動態實例,而不需要從伺服器取得實例。 新的實體會儲存在變數中,$a。 如果具有此索引鍵的實例存在於伺服器上,這個動態實例就可以用來執行作業。

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

Get-CimInstance Cmdlet 接著會擷取特定的單一實例。 Invoke-CimMethod Cmdlet 會在擷取的實例上呼叫 GetOwner 方法。

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

這個範例會取得命名空間中名為 MSFT_Something 的 CIM 類別實例,根/某個位置,並將它儲存在名為 $class的變數中。 變數會傳遞至 New-CimInstance Cmdlet,以建立新的 CIM 實例,並在新的實例上執行客戶端驗證。

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

在此範例中,使用 CimClass 參數而非 ClassName 參數可驗證 Prop1Prop2 確實存在,並且鍵已正確標記。

您無法使用 ComputerNameCimSession 參數搭配 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-CimSessionGet-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 位址。

如果您指定此參數,Cmdlet 會使用 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
別名:cf

參數集

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

-Key

指定做為鍵值的屬性。 當指定 Key 時,無法使用 CimSessionComputerName

參數屬性

類型:

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

指定新實例之 類別的命名空間。 預設命名空間 root/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

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

參數屬性

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

參數集

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

-Property

使用哈希表指定 CIM 實例的屬性(名稱/值組)。

如果您指定 CimClass 參數,則 New-CimInstance Cmdlet 會在用戶端上執行屬性驗證,以確保指定的屬性與伺服器上的類別宣告一致。 如果未指定 CimClass 參數,則會在伺服器上完成屬性驗證。

參數屬性

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

參數集

(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 不接受任何輸入物件。

輸出

Object

此 Cmdlet 會傳回包含 CIM 實例信息的物件。