次の方法で共有


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

このコマンドレットにオブジェクトをパイプすることはできません。

出力

CimInstance

このコマンドレットは、CIM インスタンス情報を含むオブジェクトを返します。

メモ

PowerShell には、 New-CimInstanceの次のエイリアスが含まれています。

  • Windows:
    • ncim

このコマンドレットは、Windows プラットフォームでのみ使用できます。