PowerShell Cmdlet - Set-WmiInstance
 記事記号:[mg1996] 初版:2011/Sep/30

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

名前
    Set-WmiInstance
    
概要
    既存の Windows Management Instrumentation (WMI) クラスのインスタンスを作成ま
    たは更新します。
    
構文
    Set-WmiInstance [-Class] <string> [[-Arguments] <hashtable>] [-Authenticatio
    n {Default | None | Connect | Call | Packet | PacketIntegrity | PacketPrivac
    y | Unchanged}] [-Authority <string>] [-ComputerName <string[]>] [-Credentia
    l <PSCredential>] [-EnableAllPrivileges] [-Impersonation {Default | Anonymou
    s | Identify | Impersonate | Delegate}] [-Locale <string>] [-Namespace <stri
    ng>] [-AsJob] [-PutType {None | UpdateOnly | CreateOnly | UpdateOrCreate}] [
    -ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
    
    Set-WmiInstance [-Authentication {Default | None | Connect | Call | Packet | 
    PacketIntegrity | PacketPrivacy | Unchanged}] [-Authority <string>] [-Comput
    erName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Imp
    ersonation {Default | Anonymous | Identify | Impersonate | Delegate}] [-Loca
    le <string>] [-Namespace <string>] [-AsJob] [-PutType {None | UpdateOnly | C
    reateOnly | UpdateOrCreate}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<C
    ommonParameters>]
    
    Set-WmiInstance -InputObject <ManagementObject> [-Arguments <hashtable>] [-A
    sJob] [-PutType {None | UpdateOnly | CreateOnly | UpdateOrCreate}] [-Throttl
    eLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
    
    Set-WmiInstance -Path <string> [-Arguments <hashtable>] [-Authentication {De
    fault | None | Connect | Call | Packet | PacketIntegrity | PacketPrivacy | U
    nchanged}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PS
    Credential>] [-EnableAllPrivileges] [-Impersonation {Default | Anonymous | I
    dentify | Impersonate | Delegate}] [-Locale <string>] [-Namespace <string>] 
    [-AsJob] [-PutType {None | UpdateOnly | CreateOnly | UpdateOrCreate}] [-Thro
    ttleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
    
    Set-WmiInstance [-Authentication {Default | None | Connect | Call | Packet | 
    PacketIntegrity | PacketPrivacy | Unchanged}] [-Authority <string>] [-Comput
    erName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Imp
    ersonation {Default | Anonymous | Identify | Impersonate | Delegate}] [-Loca
    le <string>] [-Namespace <string>] [-AsJob] [-PutType {None | UpdateOnly | C
    reateOnly | UpdateOrCreate}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<C
    ommonParameters>]
    
    Set-WmiInstance [-Authentication {Default | None | Connect | Call | Packet | 
    PacketIntegrity | PacketPrivacy | Unchanged}] [-Authority <string>] [-Comput
    erName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Imp
    ersonation {Default | Anonymous | Identify | Impersonate | Delegate}] [-Loca
    le <string>] [-Namespace <string>] [-AsJob] [-PutType {None | UpdateOnly | C
    reateOnly | UpdateOrCreate}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<C
    ommonParameters>]
    
説明
    Set-WmiInstance コマンドレットは、既存の WMI クラスのインスタンスを作成また
    は更新します。作成または更新されたインスタンスは、WMI リポジトリに書き込まれ
    ます。

パラメーター
    -Arguments <hashtable>
        変更するプロパティの名前と、そのプロパティの新しい値を指定します。名前と
        値はペアになっている必要があります。名前と値のペアは、ハッシュ テーブル
        としてコマンド ラインで渡されます。次にその例を示します。
              -argument @{Setting1=1; Setting2=5; Setting3="test"}
        
        必須                         false
        位置                         2
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -AsJob [<SwitchParameter>]
        バックグラウンド ジョブとしてコマンドを実行します。完了に時間のかかるコ
        マンドを実行するには、このパラメーターを使用します。
        
        AsJob パラメーターを使用すると、バックグラウンド ジョブを表すオブジェク
        トが返され、その後コマンド プロンプトが表示されます。ジョブが完了しても、
        引き続きセッションで作業できます。Set-WmiObject がリモート コンピュータ
        ーに対して使用された場合、ジョブはローカル コンピューターで作成され、リ
        モート コンピューターでの結果は自動的にローカル コンピューターに返されま
        す。ジョブを管理するには、Job という名詞を含むコマンドレット (Job コマン
        ドレット) を使用します。ジョブの結果を取得するには、Receive-Job コマンド
        レットを使用します。
        
        注: このパラメーターをリモート コンピューターで使用するには、ローカル コ
        ンピューターおよびリモート コンピューターをリモート処理用に構成する必要
        があります。さらに、Windows Vista 以降のバージョンの Windows では、[管理
        者として実行] を使用して Windows PowerShell を起動する必要があります。詳
        細については、「about_Remote_Requirements」を参照してください。
        
        Windows PowerShell のバックグラウンド ジョブの詳細については、「about_Jo
        bs」および「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 認証または Kerbero
        s 認証を指定できます。NTLM を使用するには、認証設定に "ntlmdomain:<Domai
        nName>" と指定します。<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 [<SwitchParameter>]
        コマンドが 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_<L
        CID> 形式の配列で、優先順に指定します。
        
        必須                         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 [<SwitchParameter>]
        コマンドを実行する前に確認メッセージを表示します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -WhatIf [<SwitchParameter>]
        実際にコマンドを実行せずに、コマンドを実行すると何が起きるかを出力します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help 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, %wind
                                     ir%\system32\wbem\ncprov.mof, %windir%\syst
                                     em32\wbem\wmipcima.mof, %windir%\system32\w
                                     bem\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";Va
    riableValue="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_ManagedSyste
                       mElement}
    __SERVER         : SYSTEM01
    __NAMESPACE      : root\cimv2
    __PATH           : \\SYSTEM01\root\cimv2:Win32_Environment.Name="testvar",Us
                       erName="<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} -c
    omputername 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, %wind
                                     ir%\system32\wbem\ncprov.mof, %windir%\syst
                                     em32\wbem\wmipcima.mof, %windir%\system32\w
                                     bem\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 に設定し、設定するプロパティと値 (両方で
    値のペアと見なされます) を引数パラメーターで渡します。このパラメーターは、@{p
    roperty = value} コンストラクターで定義されたハッシュ テーブルを受け取ります。
    返されるクラス情報には、新しい値が反映されます。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=113402
    Get-WmiObject 
    Invoke-WmiMethod 
    Remove-WmiObject 
    Get-WSManInstance 
    Invoke-WSManAction 
    New-WSManInstance 
    Remove-WSManInstance 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、Set-WmiInstance
ご利用数: 1913351
感想・要望・問い合わせは こちら