次の方法で共有


Invoke-DscResource

指定した PowerShell Desired State Configuration (DSC) リソースのメソッドを実行します。

構文

Invoke-DscResource
      [-Name] <String>
      [[-ModuleName] <ModuleSpecification>]
      [-Method] <String>
      [-Property] <Hashtable>
      [<CommonParameters>]

説明

Invoke-DscResource コマンドレットは、指定した PowerShell Desired State Configuration (DSC) リソースのメソッドを実行します。

このコマンドレットは、構成ドキュメントを作成せずに DSC リソースを直接呼び出します。 構成管理製品では、このコマンドレットを使用して、DSC リソースを使用して Windows または Linux を管理できます。

このコマンドレットは複合リソースでは機能しません。 複合リソースは、パラメーター化された構成です。 複合リソースを使用するには、LCM が必要です。

手記

PSDesiredStateConfiguration 2.0.6 より前のバージョンでは、PowerShell 7 で Invoke-DscResource を使用するには、PowerShell の試験的機能を有効にする必要があります。 バージョン 2.0.0 から 2.0.5 でコマンドレットを使用するには、次のコマンドを使用してコマンドレットを有効にする必要があります。

Enable-ExperimentalFeature PSDesiredStateConfiguration.InvokeDscResource

例 1: 必須プロパティを指定してリソースの Set メソッドを呼び出す

次の使用例は、WindowsProcess という名前のリソースの Set メソッド 呼び出し、指定した Windows プロセスを開始するために必須の Path および Arguments プロパティを提供します。

Invoke-DscResource -Name WindowsProcess -Method Set -ModuleName PSDesiredStateConfiguration -Property @{
  Path      = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
  Arguments = ''
}

例 2: 指定したモジュールのリソースの Test メソッドを呼び出す

この例では、PSDesiredStateConfiguration という名前のモジュール内にある WindowsProcess という名前のリソースの Test メソッド呼び出します。

$SplatParam = @{
    Name       = 'WindowsProcess'
    ModuleName = 'PSDesiredStateConfiguration'
    Method     = 'Test'
    Property   = @{
        Path      = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
        Arguments = ''
    }
}

Invoke-DscResource @SplatParam

パラメーター

-Method

このコマンドレットが呼び出すリソースのメソッドを指定します。 このパラメーターで使用できる値は、GetSet、および Testです。

型:String
指定可能な値:Get, Set, Test
配置:2
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ModuleName

呼び出す指定された DSC リソースを提供するモジュールの名前を指定します。

型:ModuleSpecification
配置:1
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Name

呼び出す DSC リソースの名前を指定します。

型:String
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Property

ハッシュ テーブル内のリソース プロパティ名とその値をそれぞれキーと値として指定します。

型:Hashtable
配置:3
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

String

ModuleSpecification

出力

Object

メモ

  • Windows PowerShell 5.1 では、PsDscRunAsCredential キーを使用してユーザー コンテキストで指定されていない限り、システム コンテキストでリソースが実行されました。 PowerShell 7.0 では、リソースはユーザーのコンテキストで実行され、PsDscRunAsCredential はサポートされなくなりました。 このキーを使用すると、コマンドレットは例外をスローします。

  • PowerShell 7 の時点で、Invoke-DscResource は WMI DSC リソースの呼び出しをサポートしなくなりました。 これには、PSDesiredStateConfiguration 内の ファイル リソースと ログ リソース含まれます。