0

我不了解如何创建所需状态配置资源的概念。我不断收到错误。我使用以下。有人可以给我一个非常简单的方法来理解这一点吗?

财政部

[ClassVersion("1.0.0"), FriendlyName("SQLInstall")] 
class MSFT_SQLInstall: OMI_BaseResource
{
    [Key] String InstanceName;
    [Write] String SA;
    [Write, ValueMap{"Present","Absent"}, Values{"Present","Absent"}] String Ensure;
};

PSM1:

Function Get-TargetResource
{
param(
   [parameter(Mandatory = $true)]
   [System.String]
   $InstanceName,

   [ValidateSet('Present','Absent')]
   [System.String]
   $Ensure    )

   $ins = @($InstanceName)
   return $ins
}

Function Set-TargetResource
{
param(
[parameter(Mandatory = $true)]
[System.String]
$InstanceName,

[ValidateSet('Present','Absent')]
[System.String]
$Ensure    )
}
function Test-TargetResource
{
[OutputType([System.Boolean])]
param
(

[parameter(Mandatory = $true)]
[System.String]
$InstanceName,

[ValidateSet('Present','Absent')]
[System.String]
$Ensure
)

try {
write-verbose "Test: Getting current Instance $Instance status"
$Status = <# test goes here #>

if ($Ensure -like 'Present') 
{

  if (($Status -eq $true)) 
  {
    return $true
  } 
  else 
  {
    return $false
  }

} 
else 
{

  if ($Status -eq $true) 
  {
    return $false
  } 
  else 
  {
    return $true
  }

}
}
Catch {
$exception = $_    
Write-Verbose ("An Error Occurred: $exception.message")
}
}
4

1 回答 1

0

您的 DSC 资源不完整。PSM1 必须具有Test-TargetResource功能。每当使用 DSC 资源时,Test-TargetResource首先运行以检查是否Set-TargetResource应该运行。

您需要查看在 technet 上编写自定义 DSC 资源帮助内容。此外,DSC 资源设计器对于初学者来说是一个很好的起点。

于 2014-06-13T04:15:15.717 回答