DSCResources/ClusterNameObject/ClusterNameObject.Schema.psm1

configuration ClusterNameObject {
    param (
        # Node Name Variable
        [Parameter(Mandatory)]
        [string]
        $NodeName,

        # Cluster Name Variable
        [Parameter(Mandatory)]
        [string]
        $ClusterName,

        # Cluster OU Variable
        [Parameter(Mandatory)]
        [string]
        $ClusterOrganizationalUnit,

        # Cluster Group Variable
        [Parameter(Mandatory)]
        [string]
        $ClusterGroupName,

        # Cluster Group OU Variable
        [Parameter(Mandatory)]
        [string]
        $ClusterGroupOrganizationalUnit
    )

    Import-DscResource -ModuleName (
        @{ModuleName='PSDscResources'; RequiredVersion='2.12.0.0'},
        @{ModuleName='ActiveDirectoryDsc'; RequiredVersion='6.0.1'}
    )
    node $NodeName {
        ADComputer 'CNO'
        {
            ComputerName = $ClusterName
            Path = $ClusterOrganizationalUnit
            EnabledOnCreation = $false
            Ensure = 'Present'
        }
            
        ADGroup 'CNOPermissions'
        {
            GroupName = $ClusterGroupName
            Path = $ClusterGroupOrganizationalUnit
            MembersToInclude = "$($ClusterName)$"
            Ensure = 'Present'
            DependsOn = '[ADComputer]CNO'
        }
    }
}