Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
New DSC Resource in WMFv5
Import-Module "$PSScriptRoot\..\CompositeResourceHelper.psm1"
Configuration ServiceSet
{
[CmdletBinding(SupportsShouldProcess=$true)]
param(
[Parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[System.String[]]
$Name,
[ValidateSet('Automatic','Manual','Disabled')]
[System.String]
$StartupType,
[ValidateSet('LocalSystem','LocalService','NetworkService')]
[System.String]
$BuiltInAccount,
[ValidateSet('Running','Stopped')]
[System.String]
$State,
[ValidateSet('Present','Absent')]
[System.String]
$Ensure,
[ValidateNotNull()]
[System.Management.Automation.PSCredential]
$Credential
)
$psboundParams = $PSBoundParameters
$optionalParameters = @("StartupType","BuiltInAccount","State","Ensure","Credential")
$keyParamName = "Name"
$resourceName = "Service"
#build common parameters for all Service resource nodes
[string] $commonParameters = BuildResourceCommonParameters -KeyParamName $keyParamName -OptionalParams $optionalParameters -PSBoundParams $psboundParams
#build Service resource string
[string] $resourceString = BuildResourceString -KeyParam $Name -KeyParamName $keyParamName -CommonParams $commonParameters -ResourceName $resourceName
$configScript = [scriptblock]::Create($resourceString)
. $configScript
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment