DSCResources/DnsRecord/DnsRecord.Schema.psm1
Configuration DnsRecord { param ( # Node Name Variable [Parameter(Mandatory)] [string] $NodeName, [Parameter(Mandatory)] [String]$DomainControllerName, [Parameter(Mandatory)] [String]$RecordName, [Parameter(Mandatory)] [String]$RecordValue, [Parameter(Mandatory)] [String]$ZoneName, [Parameter(Mandatory)] [String]$AdditionalUserOnRecord ) Import-DscResource -ModuleName ( @{ModuleName='ActiveDirectoryDsc'; RequiredVersion='6.0.1'}, @{ModuleName='xDnsServer'; RequiredVersion='1.16.0.0'}) node $NodeName { xDnsRecord TestRecord #ResourceName { Name = $RecordName Target = $RecordValue Type = 'ARecord' Zone = $ZoneName DnsServer = $DomainControllerName Ensure = 'Present' } $ZoneNameDcName = ($ZoneName -split "\.") -join ",DC=" $ObjectPath = "DC=$RecordName,DC=$ZoneName,cn=MicrosoftDNS,DC=DomainDnsZones,DC=$ZoneNameDcName" ADObjectPermissionEntry addUserOnRecord { AccessControlType = 'Allow' ActiveDirectorySecurityInheritance = 'SelfAndChildren' IdentityReference = $AdditionalUserOnRecord InheritedObjectType = '00000000-0000-0000-0000-000000000000' ObjectType = '00000000-0000-0000-0000-000000000000' Path = $ObjectPath ActiveDirectoryRights = 'GenericAll' DependsOn = '[xDnsRecord]TestRecord' Ensure = 'Present' } } } |