PowerShell Cmdlet - Invoke-WmiMethod
 記事記号:[mg1914] 初版:2011/Sep/30

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

名前
    Invoke-WmiMethod
    
概要
    Windows Management Instrumentation (WMI) メソッドを呼び出します。
    
構文
    Invoke-WmiMethod [-Class] <string> [[-ArgumentList] <Object[]>] [-Authentica
    tion {Default | None | Connect | Call | Packet | PacketIntegrity | PacketPri
    vacy | Unchanged}] [-Authority <string>] [-ComputerName <string[]>] [-Creden
    tial <PSCredential>] [-EnableAllPrivileges] [-Impersonation {Default | Anony
    mous | Identify | Impersonate | Delegate}] [-Locale <string>] [-Namespace <s
    tring>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf
    ] [<CommonParameters>]
    
    Invoke-WmiMethod [-Authentication {Default | None | Connect | Call | Packet 
    | PacketIntegrity | PacketPrivacy | Unchanged}] [-Authority <string>] [-Comp
    uterName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-I
    mpersonation {Default | Anonymous | Identify | Impersonate | Delegate}] [-Lo
    cale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLim
    it <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
    
    Invoke-WmiMethod -InputObject <ManagementObject> [-ArgumentList <Object[]>] 
    [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<Comm
    onParameters>]
    
    Invoke-WmiMethod -Path <string> [-ArgumentList <Object[]>] [-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
    >] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<C
    ommonParameters>]
    
    Invoke-WmiMethod [-Authentication {Default | None | Connect | Call | Packet 
    | PacketIntegrity | PacketPrivacy | Unchanged}] [-Authority <string>] [-Comp
    uterName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-I
    mpersonation {Default | Anonymous | Identify | Impersonate | Delegate}] [-Lo
    cale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLim
    it <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
    
    Invoke-WmiMethod [-Authentication {Default | None | Connect | Call | Packet 
    | PacketIntegrity | PacketPrivacy | Unchanged}] [-Authority <string>] [-Comp
    uterName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-I
    mpersonation {Default | Anonymous | Identify | Impersonate | Delegate}] [-Lo
    cale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLim
    it <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
    
説明
    Invoke-WmiMethod コマンドレットは WMI メソッドを呼び出します。

パラメーター
    -ArgumentList <Object[]>
        呼び出したメソッドに渡すパラメーターを指定します。このパラメーターの値は
        オブジェクトの配列であり、オブジェクトは呼び出したメソッドが要求する順序
        で表示する必要があります。
        
        重要: 2 番目の値である $null は必須です。これを指定しないと、"型 'System
        .Byte' のオブジェクトを型 'System.Array' にキャストできません" などのエ
        ラーがコマンドで生成されます。
        
        null 値 ($null) を指定したオブジェクトの配列 ($binSD) の使用例を次に示し
        ます。
        
        PS C:\> $acl = get-acl test.txt
        PS C:\> $binSD = $acl.GetSecurityDescriptorBinaryForm()
        PS C:\> invoke-wmimethod -class Win32_SecurityDescriptorHelper -Name Bin
        arySDToSDDL -argumentlist $binSD, $null
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -AsJob [<SwitchParameter>]
        バックグラウンド ジョブとしてコマンドを実行します。完了に時間のかかるコ
        マンドを実行するには、このパラメーターを使用します。
        
        AsJob パラメーターを使用すると、バックグラウンド ジョブを表すオブジェク
        トが返され、その後コマンド プロンプトが表示されます。ジョブが完了しても、
        引き続きセッションで作業できます。Invoke-WmiMethod がリモート コンピュ
        ーターに対して使用された場合、ジョブはローカル コンピューターで作成され、
        リモート コンピューターでの結果は自動的にローカル コンピューターに返され
        ます。ジョブを管理するには、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、またはドット (.) を使用して、
        ローカル コンピューターを指定します。既定値はローカル コンピューターで
        す。リモート コンピューターがユーザーとは異なるドメインにある場合、完全
        修飾ドメイン名が必要です。このパラメーターの値は、パイプを使用して値を
        パラメーターに渡すことにより設定することもできます。
        
        必須                         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 オブジェクトを指定します。このパラメ
        ーターを使用する場合、Flag パラメーターと Argument パラメーターを除くす
        べてのパラメーターが無視されます。
        
        必須                         true
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByValue)
        ワイルドカード文字を許可する false
        
    -Locale <string>
        WMI オブジェクトの優先ロケールを指定します。Locale パラメーターの値は、
        MS_<LCID> 形式の配列で、優先順に指定します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Name <string>
        呼び出すメソッドの名前を指定します。このパラメーターは必須です。Null 
        や空にはできません。
        
        必須                         true
        位置                         2
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Namespace <string>
        Class パラメーターと共に使用する場合、このパラメーターは、参照先の WMI 
        クラスまたはオブジェクトがある WMI リポジトリ名前空間を指定します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Path <string>
        WMI クラスの WMI オブジェクト パス、または WMI クラスのインスタンスの WM
        I オブジェクト パスを指定します。指定するクラスまたはインスタンスには、N
        ame パラメーターで指定したメソッドを含める必要があります。
        
        必須                         true
        位置                         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>invoke-wmimethod -path win32_process -name create -argumentlist notepa
    d.exe
    
    __GENUS          : 2
    __CLASS          : __PARAMETERS
    __SUPERCLASS     :
    __DYNASTY        : __PARAMETERS
    __RELPATH        :
    __PROPERTY_COUNT : 2
    __DERIVATION     : {}
    __SERVER         :
    __NAMESPACE      :
    __PATH           :
    ProcessId        : 4844
    ReturnValue      : 0
    
    説明
    -----------
    このコマンドは、Win32_Process クラスの Create メソッドを呼び出すことで、メモ
    帳のインスタンスを起動します。
    
    注: このコマンドが完了すると、ReturnValue プロパティには 0、ProcessId プロパ
    ティには整数 (次のプロセス ID 番号) が設定されます。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>invoke-wmimethod -path "CIM_DataFile.Name='C:\scripts\test.txt'" -Name 
    Rename -ArgumentList "C:\scripts\test_bu.txt"
    
    __GENUS          : 2
    __CLASS          : __PARAMETERS
    __SUPERCLASS     :
    __DYNASTY        : __PARAMETERS
    __RELPATH        :
    __PROPERTY_COUNT : 1
    __DERIVATION     : {}
    __SERVER         :
    __NAMESPACE      :
    __PATH           :
    ReturnValue      : 0
    
    説明
    -----------
    このコマンドは、ファイル名を変更します。Path パラメーターを使用して、CIM_Dat
    aFile クラスのインスタンスを参照します。次に、その特定のインスタンスに対して 
    Rename メソッドを適用します。
    
    注: このコマンドが完了すると、ReturnValue プロパティには 0 が設定されます。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=113346
    Get-WmiObject 
    Remove-WmiObject 
    Set-WmiInstance 
    Get-WSManInstance 
    Invoke-WSManAction 
    New-WSManInstance 
    Remove-WSManInstance 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、Invoke-WmiMethod
ご利用数: 1918575
感想・要望・問い合わせは こちら