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