Set-WmiInstance

既存の Windows Management Instrumentation (WMI) クラスのインスタンスを作成または更新します。

構文

Set-WmiInstance [-Class] <string> [[-Arguments] <hashtable>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Set-WmiInstance [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Set-WmiInstance -InputObject <ManagementObject> [-Arguments <hashtable>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Set-WmiInstance -Path <string> [-Arguments <hashtable>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Set-WmiInstance [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Set-WmiInstance [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

説明

Set-WmiInstance コマンドレットは、既存の WMI クラスのインスタンスを作成または更新します。作成または更新されたインスタンスは、WMI リポジトリに書き込まれます。

パラメーター

-Arguments <hashtable>

変更するプロパティの名前と、そのプロパティの新しい値を指定します。名前と値はペアになっている必要があります。名前と値のペアは、ハッシュ テーブルとしてコマンド ラインで渡されます。次にその例を示します。

-argument @{Setting1=1; Setting2=5; Setting3="test"}

必須

false

位置

2

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-AsJob

バックグラウンド ジョブとしてコマンドを実行します。完了に時間のかかるコマンドを実行するには、このパラメーターを使用します。

AsJob パラメーターを使用すると、バックグラウンド ジョブを表すオブジェクトが返され、その後コマンド プロンプトが表示されます。ジョブが完了しても、引き続きセッションで作業できます。Set-WmiObject がリモート コンピューターに対して使用された場合、ジョブはローカル コンピューターで作成され、リモート コンピューターでの結果は自動的にローカル コンピューターに返されます。ジョブを管理するには、Job という名詞を含むコマンドレット (Job コマンドレット) を使用します。ジョブの結果を取得するには、Receive-Job コマンドレットを使用します。

注: このパラメーターをリモート コンピューターで使用するには、ローカル コンピューターおよびリモート コンピューターをリモート処理用に構成する必要があります。さらに、Windows Vista 以降のバージョンの Windows では、[管理者として実行] を使用して Windows PowerShell を起動する必要があります。詳細については、「about_Remote_Requirements」を参照してください。

Windows PowerShell のバックグラウンド ジョブの詳細については、「about_Jobs」および「about_Remote_Jobs」を参照してください。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Authentication <AuthenticationLevel>

WMI 接続に使用する認証レベルを指定します。有効な値は次のとおりです。

-1: Unchanged

0: Default

1: None (認証は行われません)

2: Connect (認証は、クライアントとアプリケーションの関係が確立されるときのみ実行されます)

3: Call (認証は、アプリケーションが要求を受信するときに各呼び出しの始めにだけ実行されます)

4: Packet (認証はクライアントから受信されるすべてのデータで実行されます)

5: PacketIntegrity (クライアントとアプリケーション間で転送されるすべてのデータが認証され、確認されます)

6: PacketPrivacy (他の認証レベルのプロパティが使用され、すべてのデータが暗号化されます)

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Authority <string>

WMI 接続の認証に使用する機関を指定します。標準の NTLM 認証または Kerberos 認証を指定できます。NTLM を使用するには、認証設定に "ntlmdomain:<DomainName>" と指定します。<DomainName> には、有効な NTLM ドメイン名を指定します。Kerberos を使用するには、"kerberos:<DomainName>\<ServerName>" と指定します。ローカル コンピューターへの接続時に認証設定を指定することもできます。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Class <string>

WMI クラスの名前を指定します。

必須

true

位置

1

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-ComputerName <string[]>

管理操作の実行対象のコンピューターを指定します。値には、完全修飾ドメイン名、NetBIOS 名、または IP アドレスを指定できます。ローカル コンピューター名、localhost、またはドット (.) を使用して、ローカル コンピューターを指定します。既定値はローカル コンピューターです。リモート コンピューターがユーザーとは異なるドメインにある場合、完全修飾ドメイン名を使用する必要があります。このパラメーターの値は、パイプを使用して値をパラメーターに渡すことにより設定できます。

このパラメーターは、WS-Management を使用する Windows PowerShell リモート処理に依存しません。コンピューターが WS-Management リモート コマンドを実行するように構成されていない場合でも、Get-WmiObject の ComputerName パラメーターを使用できます。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Credential <PSCredential>

この処理を実行するアクセス許可を持つユーザー アカウントを指定します。既定値は現在のユーザーです。"User01"、"Domain01\User01"、"User@Contoso.com" などユーザー名を入力します。または、Get-Credential コマンドレットで返されるような PSCredential オブジェクトを入力します。ユーザー名を入力すると、パスワードの入力を促すメッセージが表示されます。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-EnableAllPrivileges

コマンドが WMI 呼び出しを実行する前に、現在のユーザーのすべての特権が有効になります。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Impersonation <ImpersonationLevel>

使用する偽装レベルを指定します。有効な値は次のとおりです。

0: Default (既定の偽装レベルのローカル レジストリを読み取ります。通常は "3: Impersonate" に設定されます)

1: Anonymous (呼び出し元の資格情報は非表示になります)

2: Identify (オブジェクトによる呼び出し元の資格情報のクエリが許可されます)

3: Impersonate (オブジェクトによる呼び出し元の資格情報の使用が許可されます)

4: Delegate (オブジェクトが呼び出し元の資格情報の使用を他のオブジェクトに許可できるようにします)

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-InputObject <ManagementObject>

入力として使用する ManagementObject オブジェクトを指定します。このパラメーターを使用する場合、Arguments を除くすべてのパラメーターが無視されます。

必須

true

位置

named

既定値

パイプライン入力を許可する

true (ByValue)

ワイルドカード文字を許可する

false

-Locale <string>

WMI オブジェクトの優先ロケールを指定します。Locale パラメーターは、MS_<LCID> 形式の配列で、優先順に指定します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Namespace <string>

Class パラメーターと共に使用する場合、このパラメーターは、参照先の WMI クラスがある WMI リポジトリ名前空間を指定します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Path <string>

作成または更新するインスタンスへの WMI オブジェクト パスを指定します。

必須

true

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-PutType <PutType>

WMI インスタンスを作成または更新するかどうかを示します。有効な値は次のとおりです。

UpdateOnly: 既存の WMI インスタンスを更新します。

CreateOnly: 新しい WMI インスタンスを作成します。

UpdateOrCreate: WMI インスタンスが存在する場合は更新し、存在しない場合には新しいインスタンスを作成します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-ThrottleLimit <int>

同時に実行できる WMI 操作の数のスロットル値をユーザーが指定できるようにします。このパラメーターは、AsJob パラメーターと共に使用します。スロットル制限は現在のコマンドのみに適用され、セッションまたはコンピューターには適用されません。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Confirm

コマンドを実行する前に確認メッセージを表示します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-WhatIf

実際にコマンドを実行せずに、コマンドを実行すると何が起きるかを出力します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

<CommonParameters>

このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。詳細については、次を参照してください: about_Commonparameters.

入力と出力

入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。

入力

なし

このコマンドレットは入力を受け取りません。

出力

なし

このコマンドレットは出力を生成しません。

例 1

C:\PS>Set-WMIInstance -class Win32_WMISetting -argument @{LoggingLevel=2}

__GENUS                        : 2
__CLASS                        : Win32_WMISetting
__SUPERCLASS                   : CIM_Setting
__DYNASTY                      : CIM_Setting
__RELPATH                      : Win32_WMISetting=@
__PROPERTY_COUNT               : 27
__DERIVATION                   : {CIM_Setting}
__SERVER                       : SYSTEM01
__NAMESPACE                    : root\cimv2
__PATH                         : \\SYSTEM01\root\cimv2:Win32_WMISetting=@
ASPScriptDefaultNamespace      : \\root\cimv2
ASPScriptEnabled               : False
AutorecoverMofs                : {%windir%\system32\wbem\cimwin32.mof, %windir%\system32\wbem\ncprov.mof, %windir%\syst
                                 em32\wbem\wmipcima.mof, %windir%\system32\wbem\secrcw32.mof...}
AutoStartWin9X                 :
BackupInterval                 :
BackupLastTime                 :
BuildVersion                   : 6001.18000
Caption                        :
DatabaseDirectory              : C:\Windows\system32\wbem\repository
DatabaseMaxSize                :
Description                    :
EnableAnonWin9xConnections     :
EnableEvents                   : False
EnableStartupHeapPreallocation : False
HighThresholdOnClientObjects   :
HighThresholdOnEvents          : 20000000
InstallationDirectory          : C:\Windows\system32\wbem
LastStartupHeapPreallocation   :
LoggingDirectory               : C:\Windows\system32\wbem\Logs\
LoggingLevel                   : 2
LowThresholdOnClientObjects    :
LowThresholdOnEvents           : 10000000
MaxLogFileSize                 : 65536
MaxWaitOnClientObjects         :
MaxWaitOnEvents                : 2000
MofSelfInstallDirectory        :
SettingID                      :

説明
-----------
このコマンドは WMI のログ レベルを 2 に設定し、設定するプロパティと値 (両方で値のペアと見なされます) を引数パラメーターで渡します。 このパラメーターは、@{property = value} コンストラクターで定義されたハッシュ テーブルを受け取ります。返されるクラス情報には、新しい値が反映されます。





例 2

C:\PS>set-wmiinstance -class win32_environment -argument @{Name="testvar";VariableValue="testvalue";UserName="<SYSTEM>"}

__GENUS          : 2
__CLASS          : Win32_Environment
__SUPERCLASS     : CIM_SystemResource
__DYNASTY        : CIM_ManagedSystemElement
__RELPATH        : Win32_Environment.Name="testvar",UserName="<SYSTEM>"
__PROPERTY_COUNT : 8
__DERIVATION     : {CIM_SystemResource, CIM_LogicalElement, CIM_ManagedSystemElement}
__SERVER         : SYSTEM01
__NAMESPACE      : root\cimv2
__PATH           : \\SYSTEM01\root\cimv2:Win32_Environment.Name="testvar",UserName="<SYSTEM>"
Caption          : <SYSTEM>\testvar
Description      : <SYSTEM>\testvar
InstallDate      :
Name             : testvar
Status           : OK
SystemVariable   : True
UserName         : <SYSTEM>
VariableValue    : testvalue

説明
-----------
このコマンドは、"testvalue" という値を持つ testvar 環境変数を作成します。これを行うため、Win32_Environment WMI クラスの新しいインスタンスを作成します。この操作には適切な資格情報が必要であり、新しい環境変数を表示するには Windows PowerShell を再起動する必要がある場合もあります。





例 3

C:\PS>Set-WMIInstance -class Win32_WMISetting -argument @{LoggingLevel=2} -computername system01, system02, system03

__GENUS                        : 2
__CLASS                        : Win32_WMISetting
__SUPERCLASS                   : CIM_Setting
__DYNASTY                      : CIM_Setting
__RELPATH                      : Win32_WMISetting=@
__PROPERTY_COUNT               : 27
__DERIVATION                   : {CIM_Setting}
__SERVER                       : SYSTEM01
__NAMESPACE                    : root\cimv2
__PATH                         : \\SYSTEM01\root\cimv2:Win32_WMISetting=@
ASPScriptDefaultNamespace      : \\root\cimv2
ASPScriptEnabled               : False
AutorecoverMofs                : {%windir%\system32\wbem\cimwin32.mof, %windir%\system32\wbem\ncprov.mof, %windir%\syst
                                 em32\wbem\wmipcima.mof, %windir%\system32\wbem\secrcw32.mof...}
AutoStartWin9X                 :
BackupInterval                 :
BackupLastTime                 :
BuildVersion                   : 6001.18000
Caption                        :
DatabaseDirectory              : C:\Windows\system32\wbem\repository
DatabaseMaxSize                :
Description                    :
EnableAnonWin9xConnections     :
EnableEvents                   : False
EnableStartupHeapPreallocation : False
HighThresholdOnClientObjects   :
HighThresholdOnEvents          : 20000000
InstallationDirectory          : C:\Windows\system32\wbem
LastStartupHeapPreallocation   :
LoggingDirectory               : C:\Windows\system32\wbem\Logs\
LoggingLevel                   : 2
LowThresholdOnClientObjects    :
LowThresholdOnEvents           : 10000000
MaxLogFileSize                 : 65536
MaxWaitOnClientObjects         :
MaxWaitOnEvents                : 2000
MofSelfInstallDirectory        :
SettingID                      :

...

説明
-----------
このコマンドは WMI のログ レベルを 2 に設定し、設定するプロパティと値 (両方で値のペアと見なされます) を引数パラメーターで渡します。このパラメーターは、@{property = value} コンストラクターで定義されたハッシュ テーブルを受け取ります。返されるクラス情報には、新しい値が反映されます。





関連項目

概念

Get-WmiObject
Invoke-WmiMethod
Remove-WmiObject
Get-WSManInstance
Invoke-WSManAction
New-WSManInstance
Remove-WSManInstance