StandardDSCFunctionsInResource

重症度レベル:エラー

デフォルト状態:常に有効

Description

このルールは、すべてのDesired State Configuration(DSC)リソースが正しい機能を実装しているかどうかを検出します。 欠けている機能もリソースに追加してください。

クラスベースでないリソースについて:

  • Get-TargetResource
  • Set-TargetResource
  • Test-TargetResource

クラスベースのリソースについて:

  • Get
  • Set
  • Test

例

非準拠MOFベースのリソース

function Get-TargetResource
{
    [OutputType([Hashtable])]
    param
    (
        [parameter(Mandatory = $true)]
        [String]
        $Name
    )
    ...
}

function Test-TargetResource
{
    [OutputType([System.Boolean])]
    param
    (
        [parameter(Mandatory = $true)]
        [String]
        $Name
    )
    ...
}

準拠MOFベースのリソース

function Get-TargetResource
{
    [OutputType([Hashtable])]
    param
    (
        [parameter(Mandatory = $true)]
        [String]
        $Name
    )
    ...
}

function Set-TargetResource
{
    param
    (
        [parameter(Mandatory = $true)]
        [String]
        $Name
    )
    ...
}

function Test-TargetResource
{
    [OutputType([System.Boolean])]
    param
    (
        [parameter(Mandatory = $true)]
        [String]
        $Name
    )
    ...
}

非準拠クラスベースリソース

[DscResource()]
class MyDSCResource
{
    [DscProperty(Key)]
    [string] $Name

    [void] Set()
    {
        ...
    }

    [bool] Test()
    {
        ...
    }
}

準拠クラスベースのリソース

[DscResource()]
class MyDSCResource
{
    [DscProperty(Key)]
    [string] $Name

    [MyDSCResource] Get()
    {
        ...
    }

    [void] Set()
    {
        ...
    }

    [bool] Test()
    {
        ...
    }
}

ルールの設定

このルールは常に有効で、設定はできません。 このルールを避けるために、以下のいずれかの方法を用いてください。

  • 欲しいルールだけを含めるか、不要なルールを除外するカスタムルール設定ファイルを作成しましょう。
  • 特定のコードブロックに対してルール抑制を抑制するために、適切なルール抑制属性をコードに追加してください。 詳細については、PSScriptAnalyzerの使用に関する「抑制ルール」セクションをご覧ください。