次の方法で共有


Invoke-WmiMethod

WMI メソッドを呼び出します。

構文

class (既定)

Invoke-WmiMethod
    [-Class] <String>
    [-Name] <String>
    [-ArgumentList <Object[]>]
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

object

Invoke-WmiMethod
    [-Name] <String>
    -InputObject <ManagementObject>
    [-ArgumentList <Object[]>]
    [-AsJob]
    [-ThrottleLimit <Int32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

path

Invoke-WmiMethod
    [-Name] <String>
    -Path <String>
    [-ArgumentList <Object[]>]
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

WQLQuery

Invoke-WmiMethod
    [-Name] <String>
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

query

Invoke-WmiMethod
    [-Name] <String>
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

list

Invoke-WmiMethod
    [-Name] <String>
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

説明

Invoke-WmiMethod コマンドレットは、Windows Management Instrumentation (WMI) オブジェクトのメソッドを呼び出します。

Windows PowerShell 3.0 で導入された新しい Common Information Model (CIM) コマンドレットは、WMI コマンドレットと同じタスクを実行します。 CIM コマンドレットは、WS-Management (WSMan) 標準と CIM 標準に準拠しています。これにより、コマンドレットは同じ手法を使用して Windows コンピューターとその他のオペレーティング システムを実行しているコンピューターを管理できます。 Invoke-WmiMethodを使用する代わりに、Invoke-CimMethodを使用することを検討してください。

例 1: WMI メソッド パラメーターの必要な順序を一覧表示する

このコマンドは、オブジェクトの必要な順序を一覧表示します。

Get-WmiObject Win32_Volume |
    Get-Member -MemberType Method -Name Format |
    Select-Object -ExpandProperty Definition
System.Management.ManagementBaseObject Format(System.String FileSystem, System.Boolean QuickFormat,
 System.UInt32 ClusterSize, System.String Label, System.Boolean EnableCompression,
 System.UInt32 Version)

PowerShell 3.0 で WMI を呼び出すには、代替メソッドとは異なり、オブジェクト値を特定の順序で入力する必要があります。

例 2: アプリケーションのインスタンスを開始する

([wmiclass]'Win32_Process').Create.OverloadDefinitions
System.Management.ManagementBaseObject Create(System.String CommandLine, System.String CurrentDirectory,
 System.Management.ManagementObject#Win32_ProcessStartup ProcessStartupInformation)
Invoke-WmiMethod -Path Win32_Process -Name Create -ArgumentList C:\Windows\system32\notepad.exe
__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 2
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ProcessId        : 11312
ReturnValue      : 0
PSComputerName   :

このコマンドは、Create クラスの メソッドを呼び出して、メモ帳のインスタンスを開始します。

ReturnValue プロパティには 0が設定され、コマンドが完了した場合、ProcessId プロパティには整数 (次のプロセス ID 番号) が設定されます。

例 3: ファイルの名前を変更する

$invokeWmiMethodSplat = @{
    Path = "CIM_DataFile.Name='C:\scripts\test.txt'"
    Name = 'Rename'
    ArgumentList = 'C:\scripts\test_bu.txt'
}
Invoke-WmiMethod @invokeWmiMethodSplat
__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 1
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ReturnValue      : 0

このコマンドはファイルの名前を変更します。 Path パラメーターを使用して、CIM_DataFile クラスのインスタンスを参照します。 次に、その特定のインスタンスに Rename メソッドを適用します。

コマンドが完了すると、ReturnValue プロパティに 0 が設定されます。

例 4: '-ArgumentList' を使用して値の配列を渡す

オブジェクトの配列を使用する例 $binSD、その後に $null 値が続きます。

$acl = Get-Acl test.txt
$binSD = $acl.GetSecurityDescriptorBinaryForm()
$invokeWmiMethodSplat = @{
    Class = 'Win32_SecurityDescriptorHelper'
    Name = 'BinarySDToSDDL'
    ArgumentList = $binSD, $null
}
Invoke-WmiMethod @invokeWmiMethodSplat

パラメーター

-ArgumentList

呼び出されたメソッドに渡すパラメーターを指定します。 このパラメーターの値はオブジェクトの配列である必要があり、呼び出されたメソッドで必要な順序で指定する必要があります。 Invoke-CimCommand コマンドレットには、これらの制限はありません。

これらのオブジェクトを一覧表示する順序を決定するには、このトピックの最後に近い例 1 に示すように、WMI クラスで GetMethodParameters() メソッドを実行します。

Von Bedeutung

最初の値が複数の要素を含む配列の場合は、2 番目の値 $null が必要です。 それ以外の場合、コマンドはエラー (Unable to cast object of type 'System.Byte' to type 'System.Array'.など) を生成します。 上記の例 4 を参照してください。

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

型:

Object[]

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

パラメーター セット

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

-AsJob

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

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

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

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

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

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

パラメーター セット

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

-Authentication

WMI 接続で使用する認証レベルを指定します。 このパラメーターに使用できる値は次のとおりです。

  • -1: 変更されていない
  • 0: 既定の
  • 1: [なし] します (認証は実行されません)。
  • 2: Connect (認証は、クライアントがアプリケーションとの関係を確立した場合にのみ実行されます)。
  • 3: 呼び出し (認証は、アプリケーションが要求を受信したときに、各呼び出しの開始時にのみ実行されます)。
  • 4: パケット (認証は、クライアントから受信したすべてのデータに対して実行されます)。
  • 5: PacketIntegrity (クライアントとアプリケーションの間で転送されるすべてのデータが認証され、検証されます)。
  • 6: PacketPrivacy します (他の認証レベルのプロパティが使用され、すべてのデータが暗号化されます)。

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

型:AuthenticationLevel
規定値:None
指定可能な値:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

class
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
path
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
WQLQuery
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
query
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
list
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Authority

WMI 接続の認証に使用する権限を指定します。 標準の Windows NT LAN Manager (NTLM) 認証または Kerberos 認証を指定できます。 NTLM を使用するには、機関の設定を ntlmdomain:<DomainName>に設定します。ここで、<DomainName> は有効な NTLM ドメイン名を識別します。 Kerberos を使用するには、kerberos:<DomainName>\<ServerName>を指定します。 ローカル コンピューターに接続するときに、権限設定を含めることはできません。

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

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

パラメーター セット

class
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
path
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
WQLQuery
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
query
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
list
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Class

呼び出す静的メソッドを含む WMI クラスを指定します。

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

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

パラメーター セット

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

-ComputerName

このコマンドレットでコマンドを実行するコンピューターを、文字列配列として指定します。 既定値はローカル コンピューターです。

1 台以上のコンピューターの NetBIOS 名、IP アドレス、または完全修飾ドメイン名を入力します。 ローカル コンピューターを指定するには、コンピューター名、ドット (.)、または localhostを入力します。

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

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

型:

String[]

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

パラメーター セット

class
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
path
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
WQLQuery
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
query
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
list
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Confirm

コマンドレットを実行する前に確認を求めるメッセージが表示されます。

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

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

パラメーター セット

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

-Credential

このアクションを実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。 User01Domain01\User01User@Contoso.comなどのユーザー名を入力します。 または、PSCredential オブジェクト (Get-Credential コマンドレットによって返されるオブジェクトなど) を入力します。 ユーザー名を入力すると、パスワードの入力を求められます。

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

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

パラメーター セット

class
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
path
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
WQLQuery
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
query
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
list
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-EnableAllPrivileges

このコマンドレットは、コマンドが WMI 呼び出しを行う前に、現在のユーザーのすべての特権を有効にすることを示します。

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

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

パラメーター セット

class
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
path
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
WQLQuery
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
query
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
list
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Impersonation

使用する偽装レベルを指定します。 このパラメーターに使用できる値は次のとおりです。

  • 0: 既定の (既定の偽装レベルのローカル レジストリを読み取ります。通常は 3に設定されます。を偽装します)。
  • 1: 匿名 します (呼び出し元の資格情報を非表示にします)。
  • 2: 識別 (オブジェクトが呼び出し元の資格情報を照会できるようにします)。
  • 3: を偽装します (オブジェクトが呼び出し元の資格情報を使用できるようにします)。
  • 4: デリゲート (オブジェクトが他のオブジェクトに呼び出し元の資格情報の使用を許可できるようにします)。

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

型:ImpersonationLevel
規定値:None
指定可能な値:Default, Anonymous, Identify, Impersonate, Delegate
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

class
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
path
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
WQLQuery
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
query
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
list
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-InputObject

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

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

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

パラメーター セット

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

-Locale

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

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

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

パラメーター セット

class
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
path
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
WQLQuery
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
query
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
list
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Name

呼び出すメソッドの名前を指定します。 このパラメーターは必須であり、null または空にすることはできません。

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

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

パラメーター セット

(All)
配置:1
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Namespace

Class パラメーターと共に使用する場合、このパラメーターは、参照される WMI クラスまたはオブジェクトが配置されている WMI リポジトリ名前空間を指定します。

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

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

パラメーター セット

class
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
path
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
WQLQuery
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
query
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
list
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Path

WMI クラスの WMI オブジェクト パスを指定するか、WMI クラスのインスタンスの WMI オブジェクト パスを指定します。 指定するクラスまたはインスタンスには、Name パラメーターで指定されたメソッドが含まれている必要があります。

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

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

パラメーター セット

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

-ThrottleLimit

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

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

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

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値: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を参照してください。

入力

None

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

出力

None

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

メモ

Windows PowerShell には、Invoke-WmiMethodの次のエイリアスが含まれています。

  • iwmi