次の方法で共有


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

説明

Set-CimInstance コマンドレットは、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 インスタンスを設定する

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"}

このコマンドは、Query パラメータを使用して、VariableValue プロパティの値を abcd に設定します。 Windows Management Instrumentation Query Language (WQL) クエリに一致するインスタンスを変更できます。

例 2: パイプラインを使用して CIM インスタンス プロパティを設定する

Get-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' | Set-CimInstance -Property @{VariableValue="abcd"}

このコマンドは、Get-CimInstance コマンドレットを使用して Query パラメータでフィルタされた CIM インスタンス オブジェクトを取得し、そのオブジェクトを Set-CimInstance コマンドレットに渡します。 コマンドレットによって VariableValue プロパティの値が abcd に変更されます。

例 3: 入力オブジェクトを使用して CIM インスタンス・プロパティーを設定する

$x = Get-CimInstance -Query 'Select * from Win32_Environment where Name="testvar"'
Set-CimInstance -InputObject $x -Property @{VariableValue="somevalue"} -PassThru

この一連のコマンドは、Query パラメーターでフィルター処理された CIM インスタンス オブジェクトを Get-CimInstance を使用して変数 ($x) に取得し、変数の内容を Set-CimInstance コマンドレットに渡します。 次に、Set-CimInstance VariableValue プロパティを somevalue に変更します。 Passthru パラメーターが使用されるため、このコマンド・セットは変更された CIM インスタンス・オブジェクトを戻します。

例 4: CIM インスタンス・プロパティーを設定する

$x = Get-CimInstance -Query 'Select * from Win32_Environment where name="testvar"'
$x.VariableValue = "Change"
Set-CimInstance -CimInstance $x -PassThru

この一連のコマンドは、Query パラメーターで指定された CIM インスタンス オブジェクトを Get-CimInstance コマンドレットを使用して変数 ($x) に取得し、オブジェクトの VariableValue プロパティ値を変更対象に変更します。 その後、CIM インスタンス オブジェクトは Set-CimInstance コマンドレットを使用して保存されます。 Passthru パラメーターが使用されるため、このコマンド・セットは変更された CIM インスタンス・オブジェクトを戻します。

例 5: WhatIf を使用して変更する CIM インスタンスのリストを表示する

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -WhatIf

このコマンドは、共通パラメータ WhatIf を使用して、変更を行わず、変更を行った場合に何が起こるかのみを出力するように指定します。

例 6: ユーザーからの確認後に CIM インスタンスを設定する

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -Confirm

このコマンドは、共通パラメータ Confirm を使用して、ユーザーからの確認後にのみ変更を行うように指定します。

例 7: 作成された CIM インスタンスを設定する

$x = New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";UserName="domain\user"} -Keys Name,UserName -ClientOnly
Set-CimInstance -CimInstance $x -Property @{VariableValue="somevalue"} -PassThru

この一連のコマンドは、New-CimInstance コマンドレットを使用して、指定されたプロパティを持つ CIM インスタンスを作成し、その内容を変数 ($x) に取得します。 その後、変数は Set-CimInstance コマンドレットに渡され、VariableValue プロパティの値が何らかの値に変更されます。 Passthru パラメーターが使用されるため、このコマンド・セットは変更された CIM インスタンス・オブジェクトを戻します。

パラメーター

-CimSession

リモート コンピューターでコマンドレットを実行します。 コンピューター名またはセッション オブジェクト (New-CimSession や Get-CimSession コマンドレットの出力など) を入力します。

パラメーターのプロパティ

型:

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 インスタンス オブジェクトを指定します。

パラメーターのプロパティ

型:CimInstance
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:CimInstance

パラメーター セット

CimInstanceComputerSet
配置:0
必須:True
パイプラインからの値:True
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
CimInstanceSessionSet
配置:0
必須:True
パイプラインからの値:True
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Namespace

CIM 操作の名前空間を指定します。

既定の名前空間は root/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 演算子を使用する場合は、パーセント (%)、アンダースコア (_)、または左角かっこ ([]) の文字を角かっこ ([]) で囲んでエスケープする必要があります。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

QuerySessionSet
配置:0
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
QueryComputerSet
配置:0
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-QueryDialect

Query パラメーターに使用するクエリ言語を指定します。 このパラメーターに指定できる値は、WQL または CQL です。

デフォルト値は WQL です。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

QuerySessionSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
QueryComputerSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-ResourceUri

リソースクラスまたはインスタンスの統一リソース識別子 (URI) を指定します。 URI は、コンピューター上のディスクやプロセスなどの特定の種類のリソースを識別するために使用されます。

URI は、プレフィックスとリソースへのパスで構成されます。 例えば次が挙げられます。

  • https://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
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

出力

CimInstance

Passthru パラメーターを指定すると、このコマンドレットは変更された CIM インスタンス オブジェクトを返します。