New-CimInstance
CIM インスタンスを作成します。
構文
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>]
説明
このコマンドレットは、Windows プラットフォームでのみ使用できます。
New-CimInstance
コマンドレットは、ローカル コンピューターまたはリモート コンピューターのクラス定義に基づいて CIM クラスのインスタンスを作成します。 既定では、 New-CimInstance
コマンドレットはローカル コンピューターにインスタンスを作成します。
例
例 1: CIM クラスのインスタンスを作成する
この例では、コンピューターの root/cimv2 名前空間に win32_environment という名前の CIM クラスのインスタンスを作成します。
New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";VariableValue="testvalue";UserName="domain\user"}
クラスが存在しない場合、プロパティが間違っている場合、またはサーバーが呼び出しを拒否した場合、クライアント側の検証は実行されません。 インスタンスが正常に作成されると、コマンドレットは新しく作成されたインスタンスを出力します。
例 2: クラス スキーマを使用して CIM クラスのインスタンスを作成する
この例では、CIM クラス オブジェクトを取得し、 $class
という名前の変数に格納します。 その後、変数の内容が New-CimInstance
コマンドレットに渡されます。
$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
コマンドレットは、特定の単一インスタンスを取得します。 Invoke-CimMethod
コマンドレットは、取得したインスタンスで GetOwner メソッドを呼び出します。
例 4: 特定の名前空間の CIM クラスのインスタンスを作成する
この例では、名前空間 root/どこかに MSFT_Something という名前の CIM クラスのインスタンスを取得し$class
という名前の変数に格納します。 変数は、新しい CIM インスタンスを作成し、新しいインスタンスでクライアント側の検証を実行するために、 New-CimInstance
コマンドレットに渡されます。
$class = Get-CimClass -ClassName MSFT_Something -Namespace root/somewhere
New-CimInstance -CimClass $class -Property @{"Prop1"=1;"Prop2"="value"} -ClientOnly
この例では、ClassName パラメーターの代わりに CimClass パラメーターを使用して、Prop1 および Prop2 が実際に存在し、キーが正しくマークされていることを検証します。
ComputerName または CimSession パラメーターを ClientOnly パラメーターと共に使用することはできません。
パラメーター
-CimClass
インスタンスの型を表す CIM クラス オブジェクトを指定します。 Get-CimClass
コマンドレットを使用して、コンピューターからクラス宣言を取得します。 このパラメーターを使用すると、クライアント側のスキーマ検証が向上します。
型: | CimClass |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-CimSession
指定した CIM セッションを使用してコマンドを実行します。 CIM セッションを含む変数、または CIM セッションを作成または取得するコマンド ( New-CimSession
、 Get-CimSession
コマンドレットなど) を入力します。 詳細については、「 about_CimSession」を参照してください。
型: | CimSession[] |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-ClassName
操作でインスタンスを作成する CIM クラスの名前を指定します。 注: PowerShell はローカル WMI サーバーからクラスの一覧を取得してクラス名の一覧を提供するため、タブ補完を使用してクラスの一覧を参照できます。
型: | String |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-ClientOnly
インスタンスが Cim サーバーに移動せずに PowerShell でのみ作成されることを示します。 このパラメーターを使用して、後続の PowerShell 操作で使用するメモリ内 CIM インスタンスを作成できます。
型: | SwitchParameter |
Aliases: | Local |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ComputerName
CIM 操作を実行するコンピューターの名前を指定します。 完全修飾ドメイン名 (FQDN)、NetBIOS 名、または IP アドレスを指定できます。
このパラメーターを指定すると、コマンドレットは WSMan プロトコルを使用して、指定したコンピューターへの一時的なセッションを作成します。
このパラメーターを指定しない場合、コマンドレットはコンポーネント オブジェクト モデル (COM) を使用してローカル コンピューターで操作を実行します。
同じコンピューターで複数の操作が実行されている場合、CIM セッションを使用して接続するとパフォーマンスが向上します。
型: | String[] |
Aliases: | CN, ServerName |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Key
キーとして使用されるプロパティを指定します。 CimSession および ComputerName は、 Key が指定されている場合は使用できません。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Namespace
新しいインスタンスのクラスの名前空間を指定します。 既定の名前空間は root/cimv2 です。 PowerShell はローカル WMI サーバーから名前空間の一覧を取得して名前空間の一覧を提供するため、タブ補完を使用して名前空間の一覧を参照できます。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-OperationTimeoutSec
CIM サーバーからの応答をコマンドレットが待機する時間を指定します。 既定では、このパラメーターの値は 0 です。これは、コマンドレットがサーバーの既定のタイムアウト値を使用することを意味します。 OperationTimeoutSecパラメーターが堅牢な接続再試行タイムアウト 3 分未満の値に設定されている場合、クライアントが再接続する前にサーバーでの操作がタイムアウトするため、OperationTimeoutSec パラメーターの値を超えるネットワーク障害は復旧できません。
型: | UInt32 |
Aliases: | OT |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Property
ハッシュ テーブル (名前と値のペア) を使用して CIM インスタンスのプロパティを指定します。
CimClass パラメーターを指定した場合、New-CimInstance
コマンドレットはクライアントでプロパティ検証を実行し、指定されたプロパティがサーバー上のクラス宣言と一致していることを確認します。 CimClass パラメーターが指定されていない場合は、サーバーでプロパティの検証が行われます。
型: | IDictionary |
Aliases: | Arguments |
配置: | 1 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-ResourceUri
リソース クラスまたはインスタンスのリソース Uniform Resource Identifier (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 |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
このコマンドレットは、CIM インスタンス情報を含むオブジェクトを返します。
メモ
PowerShell には、 New-CimInstance
の次のエイリアスが含まれています。
- Windows:
ncim
このコマンドレットは、Windows プラットフォームでのみ使用できます。
関連リンク
PowerShell