Set-CimInstance
CIM クラスの ModifyInstance メソッドを呼び出して、CIM サーバー上の CIM インスタンスを変更します。
構文
CimInstanceComputerSet (既定)
Set-CimInstance
[-InputObject] <CimInstance>
[-ComputerName <String[]>]
[-ResourceUri <Uri>]
[-OperationTimeoutSec <UInt32>]
[-Property <IDictionary>]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
CimInstanceSessionSet
Set-CimInstance
[-InputObject] <CimInstance>
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-OperationTimeoutSec <UInt32>]
[-Property <IDictionary>]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
QuerySessionSet
Set-CimInstance
[-Query] <String>
-CimSession <CimSession[]>
-Property <IDictionary>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
QueryComputerSet
Set-CimInstance
[-Query] <String>
-Property <IDictionary>
[-ComputerName <String[]>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
このコマンドレットは、Windows プラットフォームでのみ使用できます。
このコマンドレットは、CIM サーバー上の CIM インスタンスを変更します。
InputObject パラメーターが指定されていない場合、コマンドレットは次のいずれかの方法で動作します。
- ComputerName パラメーターも CimSession パラメーターも指定されていない場合、このコマンドレットはコンポーネント オブジェクト モデル (COM) セッションを使用してローカル Windows Management Instrumentation (WMI) で動作します。
- ComputerName パラメーターまたは CimSession パラメーターが指定されている場合、このコマンドレットは、ComputerName パラメーターまたは CimSession パラメーターで指定された CIM サーバーに対して動作します。
InputObject パラメーターが指定されている場合、コマンドレットは次のいずれかの方法で動作します。
- ComputerName パラメーターも CimSession パラメーターも指定されていない場合、このコマンドレットは入力オブジェクトの CIM セッションまたはコンピューター名を使用します。
- ComputerName パラメーターまたは CimSession パラメーターが指定されている場合、このコマンドレットは、CimSession パラメーター値または ComputerName パラメーター値 使用します。 これはあまり一般的ではありません。
例
例 1: CIM インスタンスを設定する
次の使用例は、Query パラメーターを使用して、VariableValue プロパティの値を abcd 設定します。 Windows Management Instrumentation Query Language (WQL) クエリに一致するインスタンスを変更できます。
$instance = @ {
Query = 'Select * from Win32_Environment where name LIKE "testvar%"'
Property = @{VariableValue="abcd"}
}
Set-CimInstance @instance
例 2: パイプラインを使用して CIM インスタンス プロパティを設定する
この例では、 コマンドレットを使用して、Get-CimInstance パラメーターでフィルター処理された CIM インスタンス オブジェクトを取得します。
Set-CimInstance コマンドレットは、VariableValue プロパティの値 abcd 変更します。
Get-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' |
Set-CimInstance -Property @{VariableValue="abcd"}
例 3: 入力オブジェクトを使用して CIM インスタンス・プロパティーを設定する
$x = Get-CimInstance -Query 'Select * from Win32_Environment where Name="testvar"'
Set-CimInstance -InputObject $x -Property @{VariableValue="somevalue"} -PassThru
この例では、クエリ パラメーターでフィルター処理された CIM インスタンス オブジェクトを $xを使用して変数 Get-CimInstance に取得し、変数の内容を Set-CimInstance コマンドレットに渡します。 次 Set-CimInstance、VariableValue プロパティを変更して、一部の値 をします。
PassThru パラメーターが使用されているため、この例では変更された CIM インスタンス オブジェクトを返します。
例 4: CIM インスタンス・プロパティーを設定する
この例では、Query パラメーターで指定された CIM インスタンス オブジェクトを、$x コマンドレットを使用して変数 Get-CimInstance に取得し、変更するオブジェクトの VariableValue プロパティ値を変更します。 CIM インスタンス オブジェクトは、Set-CimInstance コマンドレットを使用して保存されます。
PassThru パラメーターが使用されているため、この例では変更された CIM インスタンス オブジェクトを返します。
$x = Get-CimInstance -Query 'Select * from Win32_Environment where name="testvar"'
$x.VariableValue = "Change"
Set-CimInstance -CimInstance $x -PassThru
例 5: WhatIf を使用して変更する CIM インスタンスのリストを表示する
この例では、WhatIf 共通パラメーターを使用して、変更を行う必要はなく、行われた場合に何が起こるかを出力するように指定します。
$instance = @{
Query = 'Select * from Win32_Environment where name LIKE "testvar%"'
Property = @{VariableValue="abcd"}
WhatIf = $true
}
Set-CimInstance @instance
例 6: ユーザーからの確認後に CIM インスタンスを設定する
この例では、共通パラメーター Confirm を使用して、ユーザーからの確認後にのみ変更を行う必要があることを指定します。
$instance = @{
Query = 'Select * from Win32_Environment where name LIKE "testvar%"'
Property = @{VariableValue="abcd"}
Confirm = $true
}
Set-CimInstance @instance
例 7: 作成された CIM インスタンスを設定する
この例では、New-CimInstance コマンドレットを使用して、指定したプロパティを持つ CIM インスタンスを作成し、その内容を変数 $xに取得します。 その後、変数が Set-CimInstance コマンドレットに渡され、VariableValue プロパティの値 何らかの値 をするように変更されます。
PassThru パラメーターが使用されているため、この例では変更された CIM インスタンス オブジェクトを返します。
$instance = @{
ClassName = 'Win32_Environment'
Property = @{
Name="testvar"
UserName="domain\user"
}
Key = 'Name', 'UserName'
ClientOnly = $true
}
$x = New-CimInstance @instance
Set-CimInstance -CimInstance $x -Property @{VariableValue="somevalue"} -PassThru
パラメーター
-CimSession
リモート コンピューターでコマンドレットを実行します。 コンピューター名またはセッション オブジェクト (New-CimSession または Get-CimSession コマンドレットの出力など) を入力します。
パラメーターのプロパティ
| 型: | |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
CimInstanceSessionSet
| 配置: | Named |
| 必須: | True |
| パイプラインからの値: | True |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
QuerySessionSet
| 配置: | Named |
| 必須: | True |
| パイプラインからの値: | True |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-ComputerName
CIM 操作を実行するコンピューターの名前を指定します。 完全修飾ドメイン名 (FQDN) または NetBIOS 名を指定できます。
このパラメーターを指定しない場合、コマンドレットはコンポーネント オブジェクト モデル (COM) を使用してローカル コンピューターで操作を実行します。
このパラメーターを指定すると、コマンドレットは WsMan プロトコルを使用して、指定されたコンピューターへの一時的なセッションを作成します。
同じコンピューターで複数の操作が実行されている場合、CIM セッションを使用して接続するとパフォーマンスが向上します。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | CN, サーバー名 |
パラメーター セット
CimInstanceComputerSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
QueryComputerSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Confirm
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | cf |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-InputObject
入力として使用する CIM インスタンス オブジェクトを指定します。
InputObject パラメーターはコレクションを列挙しません。 コレクションが渡されると、エラーがスローされます。 コレクションを操作する場合は、入力をパイプして値を列挙します。
パラメーターのプロパティ
| 型: | CimInstance |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | CimInstance |
パラメーター セット
CimInstanceComputerSet
| 配置: | 0 |
| 必須: | True |
| パイプラインからの値: | True |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
CimInstanceSessionSet
| 配置: | 0 |
| 必須: | True |
| パイプラインからの値: | True |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Namespace
CIM 操作の名前空間を指定します。 既定の名前空間はルート/CIMV2 です。 PowerShell はローカル WMI サーバーから名前空間の一覧を取得して名前空間の一覧を提供するため、タブ補完を使用して名前空間の一覧を参照できます。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
QuerySessionSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
QueryComputerSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-OperationTimeoutSec
コマンドレットがコンピューターからの応答を待機する時間を指定します。 既定では、このパラメーターの値は 0 です。これは、コマンドレットがサーバーの既定のタイムアウト値を使用することを意味します。
OperationTimeoutSec パラメーターが、堅牢な接続再試行タイムアウトの 3 分未満の値に設定されている場合、OperationTimeoutSec パラメーターの値を超えるネットワーク 障害は復旧できません。これは、クライアントが再接続する前にサーバーでの操作がタイムアウトするためです。
パラメーターのプロパティ
| 型: | UInt32 |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | OT |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-PassThru
作業中のアイテムを表すオブジェクトを返します。 既定では、このコマンドレットは出力を生成しません。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Property
CIM インスタンスのプロパティをハッシュ テーブルとして指定します (名前と値のペアを使用)。 このパラメーターを使用して指定されたプロパティのみが変更されます。 CIM インスタンスの他のプロパティは変更されません。
パラメーターのプロパティ
| 型: | IDictionary |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | 論争 |
パラメーター セット
CimInstanceComputerSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
CimInstanceSessionSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
QuerySessionSet
| 配置: | Named |
| 必須: | True |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
QueryComputerSet
| 配置: | Named |
| 必須: | True |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-Query
CIM サーバーで実行して、コマンドレットを実行する CIM インスタンスを取得するクエリを指定します。 QueryDialect パラメーターを使用して、クエリ言語を指定できます。
指定した値に二重引用符 (")、単一引用符 (')、または円記号 (\) が含まれている場合は、円記号 (\) 文字の前に文字を付けてエスケープする必要があります。 指定した値で WQL LIKE 演算子を使用する場合は、次の文字を角かっこ ([]): percent (%)、アンダースコア (_)、または角かっこ ([) で囲んでエスケープする必要があります。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
QuerySessionSet
| 配置: | 0 |
| 必須: | True |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
QueryComputerSet
| 配置: | 0 |
| 必須: | True |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-QueryDialect
Query パラメーターに使用するクエリ言語を指定します。 このパラメーターに使用できる値は、WQL または CQL
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
QuerySessionSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
QueryComputerSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-ResourceUri
リソースクラスまたはインスタンスの統一リソース識別子 (URI) を指定します。 URI は、コンピューター上のディスクやプロセスなどの特定の種類のリソースを識別するために使用されます。
URI は、プレフィックスとリソースへのパスで構成されます。 例えば次が挙げられます。
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDiskhttp://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 |
| DontShow: | False |
パラメーター セット
CimInstanceComputerSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
CimInstanceSessionSet
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-WhatIf
コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | ウィスコンシン |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
CommonParameters
このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。
入力
CimInstance
出力
None
既定では、このコマンドレットは出力を返しません。
CimInstance
PassThru パラメーターを使用すると、このコマンドレットは変更された CIM インスタンス オブジェクトを返します。
メモ
PowerShell には、Set-CimInstanceの次のエイリアスが含まれています。
- ウィンドウズ:
scim
このコマンドレットは、Windows プラットフォームでのみ使用できます。