Модуль DSC не реализует свойство записи faceTime

Я не понимаю концепцию создания ресурса конфигурации желаемого состояния. Я продолжаю получать ошибки. Я использую следующее. Может ли кто-нибудь дать мне очень простой способ понять это?

Моф

[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;
};

ПСМ1:

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")
}
}

dsc
person Community    schedule 12.06.2014    source источник


Ответы (1)


Ваш ресурс DSC не завершен. PSM1 должен иметь функцию Test-TargetResource. Всякий раз, когда используется ресурс DSC, сначала запускается Test-TargetResource, чтобы проверить, следует ли запускать Set-TargetResource.

Вам нужно взглянуть на создание специальных ресурсов DSC справки в technet. Кроме того, Дизайнер ресурсов DSC — отличная отправная точка для начинающих.

person ravikanth    schedule 13.06.2014
comment
Благодарю вас! Я также обнаружил, что служба кэширует запущенный экземпляр. поэтому я добавил это в bootom моего файла конфигурации. ### ### найти процесс, в котором размещен механизм DSC ### $dscProcessID = Get-WmiObject msft_providers | Where-Object {$_.provider -подобный 'dsccore'} | Select-Object -ExpandProperty HostProcessIdentifier ### ### Убить ### Get-Process -Id $dscProcessID | Остановить процесс - person ; 16.06.2014