This module contains DSC resources for the management and configuration of Windows Server DNS Server.
ConvertTo-HashTableFromObject
with the
public function ConvertFrom-DscResourceInstance
(from DscResource.Common).ConvertTo-HashTableFromObject
with the
public function ConvertFrom-DscResourceInstance
(from DscResource.Common).xDnsRecord
xDnsServerMx
DnsServerSetting
Forwarders
and ForwardingTimeout
has
been removed (issue #192).
Use the resource DnsServerForwarder to enforce these properties.EnableEDnsProbes
and EDnsCacheTimeout
has
been removed (issue #195).
Use the resource DnsServerEDns to enforce these properties.SecureResponses
, MaxCacheTTL
, and
MaxNegativeCacheTTL
has been removed (issue #197).
To enforce theses properties, use resource DnsServerEDns using the
properties EnablePollutionProtection
, MaxTtl
, and MaxNegativeTtl
respectively.DefaultAgingState
, ScavengingInterval
,
DefaultNoRefreshInterval
, and DefaultRefreshInterval
have been removed.
Use the resource DnsServerScavenging to enforce this properties (issue #193).NoRecursion
, RecursionRetry
, and
RecursionTimeout
has been removed (issue #200).
To enforce theses properties, use resource DnsServerRecursion using the
properties Enable
, RetryInterval
, and Timeout
respectively.DsPollingInterval
and DsTombstoneInterval
has been removed (issue #252).
Use the resource DnsServerDsSetting to enforce these properties.ResourceBase
Get()
the overload that took a [Microsoft.Management.Infrastructure.CimInstance]
was removed as it is not the correct pattern going forward.Get-ClassName
that returns the class name
or optionally an array with the class name and all inherited base class
named.Get-LocalizedDataRecursive
that gathers
all localization strings from an array of class names. This can be used
in classes to be able to inherit localization strings from one or more
base class. If a localization string key exist in a parent class's
localization string file it will override the localization string key
in any base class.Assert()
tha calls Assert-Module
and AssertProperties()
.Get-DnsServerResourceRecord
so it throws if it is not mocked
correctly (issue #204).Test()
, Get()
, and Set()
. The base class now have three methods
AssertProperties()
, Modify()
, and GetCurrentState()
where the
two latter ones must be overridden by a resource if calling the base
methods Set()
and Get()
.Assert-Module
from the constructor to a new method Assert()
that is called from Get()
, Test()
, and Set()
. The method Assert()
also calls the method AssertProperties()
. The method Assert()
is not
meant to be overridden, but can if there is a reason not to run
Assert-Module
and or AssertProperties()
.Get-DnsServerSetting
and Set-DnsServerSetting
(issue #185).DisableAutoReverseZones
have been renamed
to DisableAutoReverseZone
.ListenAddresses
have been renamed
to ListeningIPAddress
.AllowUpdate
was changed to a boolean
value ($true
or $false
) since that is what the cmdlet Set-DnsServerSetting
is expecting (related to issue #101).EnableDnsSec
was changed to a boolean
value ($true
or $false
) since that is what the cmdlet Set-DnsServerSetting
is expecting.ForwardDelegations
was changed to a boolean
value ($true
or $false
) since that is what the cmdlet Set-DnsServerSetting
is expecting.xDnsRecord
xDnsServerMx
DnsServerSetting
Forwarders
and ForwardingTimeout
has
been removed (issue #192).
Use the resource DnsServerForwarder to enforce these properties.EnableEDnsProbes
and EDnsCacheTimeout
has
been removed (issue #195).
Use the resource DnsServerEDns to enforce these properties.SecureResponses
, MaxCacheTTL
, and
MaxNegativeCacheTTL
has been removed (issue #197).
To enforce theses properties, use resource DnsServerEDns using the
properties EnablePollutionProtection
, MaxTtl
, and MaxNegativeTtl
respectively.DefaultAgingState
, ScavengingInterval
,
DefaultNoRefreshInterval
, and DefaultRefreshInterval
have been removed.
Use the resource DnsServerScavenging to enforce this properties (issue #193).NoRecursion
, RecursionRetry
, and
RecursionTimeout
has been removed (issue #200).
To enforce theses properties, use resource DnsServerRecursion using the
properties Enable
, RetryInterval
, and Timeout
respectively.DsPollingInterval
and DsTombstoneInterval
has been removed (issue #252).
Use the resource DnsServerDsSetting to enforce these properties.ResourceBase
Get()
the overload that took a [Microsoft.Management.Infrastructure.CimInstance]
was removed as it is not the correct pattern going forward.Get-ClassName
that returns the class name
or optionally an array with the class name and all inherited base class
named.Get-LocalizedDataRecursive
that gathers
all localization strings from an array of class names. This can be used
in classes to be able to inherit localization strings from one or more
base class. If a localization string key exist in a parent class's
localization string file it will override the localization string key
in any base class.Assert()
tha calls Assert-Module
and AssertProperties()
.Get-DnsServerResourceRecord
so it throws if it is not mocked
correctly (issue #204).Test()
, Get()
, and Set()
. The base class now have three methods
AssertProperties()
, Modify()
, and GetCurrentState()
where the
two latter ones must be overridden by a resource if calling the base
methods Set()
and Get()
.Assert-Module
from the constructor to a new method Assert()
that is called from Get()
, Test()
, and Set()
. The method Assert()
also calls the method AssertProperties()
. The method Assert()
is not
meant to be overridden, but can if there is a reason not to run
Assert-Module
and or AssertProperties()
.Get-DnsServerSetting
and Set-DnsServerSetting
(issue #185).DisableAutoReverseZones
have been renamed
to DisableAutoReverseZone
.ListenAddresses
have been renamed
to ListeningIPAddress
.AllowUpdate
was changed to a boolean
value ($true
or $false
) since that is what the cmdlet Set-DnsServerSetting
is expecting (related to issue #101).EnableDnsSec
was changed to a boolean
value ($true
or $false
) since that is what the cmdlet Set-DnsServerSetting
is expecting.ForwardDelegations
was changed to a boolean
value ($true
or $false
) since that is what the cmdlet Set-DnsServerSetting
is expecting.Forwarders
and ForwardingTimeout
has
been removed (issue #192).
Use the resource DnsServerForwarder to enforce these properties.EnableEDnsProbes
and EDnsCacheTimeout
has
been removed (issue #195).
Use the resource DnsServerEDns to enforce these properties.SecureResponses
, MaxCacheTTL
, and
MaxNegativeCacheTTL
has been removed (issue #197).
To enforce theses properties, use resource DnsServerEDns using the
properties EnablePollutionProtection
, MaxTtl
, and MaxNegativeTtl
respectively.DefaultAgingState
, ScavengingInterval
,
DefaultNoRefreshInterval
, and DefaultRefreshInterval
have been removed.
Use the resource DnsServerScavenging to enforce this properties (issue #193).NoRecursion
, RecursionRetry
, and
RecursionTimeout
has been removed (issue #200).
To enforce theses properties, use resource DnsServerRecursion using the
properties Enable
, RetryInterval
, and Timeout
respectively.Get()
the overload that took a [Microsoft.Management.Infrastructure.CimInstance]
was removed as it is not the correct pattern going forward.Get-ClassName
that returns the class name
or optionally an array with the class name and all inherited base class
named.Get-LocalizedDataRecursive
that gathers
all localization strings from an array of class names. This can be used
in classes to be able to inherit localization strings from one or more
base class. If a localization string key exist in a parent class's
localization string file it will override the localization string key
in any base class.Assert()
tha calls Assert-Module
and AssertProperties()
.Get-DnsServerResourceRecord
so it throws if it is not mocked
correctly (issue #204).Test()
, Get()
, and Set()
. The base class now have three methods
AssertProperties()
, Modify()
, and GetCurrentState()
where the
two latter ones must be overridden by a resource if calling the base
methods Set()
and Get()
.Assert-Module
from the constructor to a new method Assert()
that is called from Get()
, Test()
, and Set()
. The method Assert()
also calls the method AssertProperties()
. The method Assert()
is not
meant to be overridden, but can if there is a reason not to run
Assert-Module
and or AssertProperties()
.Forwarders
and ForwardingTimeout
has
been removed (issue #192).
Use the resource DnsServerForwarder to enforce these properties.EnableEDnsProbes
and EDnsCacheTimeout
has
been removed (issue #195).
Use the resource DnsServerEDns to enforce these properties.SecureResponses
, MaxCacheTTL
, and
MaxNegativeCacheTTL
has been removed (issue #197).
To enforce theses properties, use resource DnsServerEDns using the
properties EnablePollutionProtection
, MaxTtl
, and MaxNegativeTtl
respectively.DefaultAgingState
, ScavengingInterval
,
DefaultNoRefreshInterval
, and DefaultRefreshInterval
have been removed.
Use the resource DnsServerScavenging to enforce this properties (issue #193).NoRecursion
, RecursionRetry
, and
RecursionTimeout
has been removed (issue #200).
To enforce theses properties, use resource DnsServerRecursion using the
properties Enable
, RetryInterval
, and Timeout
respectively.Get()
the overload that took a [Microsoft.Management.Infrastructure.CimInstance]
was removed as it is not the correct pattern going forward.Get-ClassName
that returns the class name
or optionally an array with the class name and all inherited base class
named.Get-LocalizedDataRecursive
that gathers
all localization strings from an array of class names. This can be used
in classes to be able to inherit localization strings from one or more
base class. If a localization string key exist in a parent class's
localization string file it will override the localization string key
in any base class.Assert()
tha calls Assert-Module
and AssertProperties()
.Get-DnsServerResourceRecord
so it throws if it is not mocked
correctly (issue #204).Test()
, Get()
, and Set()
. The base class now have three methods
AssertProperties()
, Modify()
, and GetCurrentState()
where the
two latter ones must be overridden by a resource if calling the base
methods Set()
and Get()
.Assert-Module
from the constructor to a new method Assert()
that is called from Get()
, Test()
, and Set()
. The method Assert()
also calls the method AssertProperties()
. The method Assert()
is not
meant to be overridden, but can if there is a reason not to run
Assert-Module
and or AssertProperties()
.Forwarders
and ForwardingTimeout
has
been removed (issue #192).
Use the resource DnsServerForwarder to enforce these properties.EnableEDnsProbes
and EDnsCacheTimeout
has
been removed (issue #195).
Use the resource DnsServerEDns to enforce these properties.SecureResponses
, MaxCacheTTL
, and
MaxNegativeCacheTTL
has been removed (issue #197).
To enforce theses properties, use resource DnsServerEDns using the
properties EnablePollutionProtection
, MaxTtl
, and MaxNegativeTtl
respectively.DefaultAgingState
, ScavengingInterval
,
DefaultNoRefreshInterval
, and DefaultRefreshInterval
have been removed.
Use the resource DnsServerScavenging to enforce this properties (issue #193).NoRecursion
, RecursionRetry
, and
RecursionTimeout
has been removed (issue #200).
To enforce theses properties, use resource DnsServerRecursion using the
properties Enable
, RetryInterval
, and Timeout
respectively.Get()
the overload that took a [Microsoft.Management.Infrastructure.CimInstance]
was removed as it is not the correct pattern going forward.Get-ClassName
that returns the class name
or optionally an array with the class name and all inherited base class
named.Get-LocalizedDataRecursive
that gathers
all localization strings from an array of class names. This can be used
in classes to be able to inherit localization strings from one or more
base class. If a localization string key exist in a parent class's
localization string file it will override the localization string key
in any base class.Assert()
tha calls Assert-Module
and AssertProperties()
.Get-DnsServerResourceRecord
so it throws if it is not mocked
correctly (issue #204).Test()
, Get()
, and Set()
. The base class now have three methods
AssertProperties()
, Modify()
, and GetCurrentState()
where the
two latter ones must be overridden by a resource if calling the base
methods Set()
and Get()
.Assert-Module
from the constructor to a new method Assert()
that is called from Get()
, Test()
, and Set()
. The method Assert()
also calls the method AssertProperties()
. The method Assert()
is not
meant to be overridden, but can if there is a reason not to run
Assert-Module
and or AssertProperties()
.Forwarders
and ForwardingTimeout
has
been removed (issue #192).
Use the resource DnsServerForwarder to enforce these properties.EnableEDnsProbes
and EDnsCacheTimeout
has
been removed (issue #195).
Use the resource DnsServerEDns to enforce these properties.SecureResponses
, MaxCacheTTL
, and
MaxNegativeCacheTTL
has been removed (issue #197).
To enforce theses properties, use resource DnsServerEDns using the
properties EnablePollutionProtection
, MaxTtl
, and MaxNegativeTtl
respectively.DefaultAgingState
, ScavengingInterval
,
DefaultNoRefreshInterval
, and DefaultRefreshInterval
have been removed.
Use the resource DnsServerScavenging to enforce this properties (issue #193).NoRecursion
, RecursionRetry
, and
RecursionTimeout
has been removed (issue #200).
To enforce theses properties, use resource DnsServerRecursion using the
properties Enable
, RetryInterval
, and Timeout
respectively.Get()
the overload that took a [Microsoft.Management.Infrastructure.CimInstance]
was removed as it is not the correct pattern going forward.Get-ClassName
that returns the class name
or optionally an array with the class name and all inherited base class
named.Get-LocalizedDataRecursive
that gathers
all localization strings from an array of class names. This can be used
in classes to be able to inherit localization strings from one or more
base class. If a localization string key exist in a parent class's
localization string file it will override the localization string key
in any base class.Assert()
tha calls Assert-Module
and AssertProperties()
.Get-DnsServerResourceRecord
so it throws if it is not mocked
correctly (issue #204).Test()
, Get()
, and Set()
. The base class now have three methods
AssertProperties()
, Modify()
, and GetCurrentState()
where the
two latter ones must be overridden by a resource if calling the base
methods Set()
and Get()
.Assert-Module
from the constructor to a new method Assert()
that is called from Get()
, Test()
, and Set()
. The method Assert()
also calls the method AssertProperties()
. The method Assert()
is not
meant to be overridden, but can if there is a reason not to run
Assert-Module
and or AssertProperties()
.2.0.0
will be the the last release of xDnsServer. Version 3.0.0
will be
release as DnsServerDsc, it will be released shortly after the 2.0.0
release (issue #179).
The prefix 'x' will be removed from all resources in DnsServerDsc.DefaultAgingState
, ScavengingInterval
, DefaultNoRefreshInterval
,
and DefaultRefreshInterval
will be removed from the resource xDnsServerSetting
in the next release (of DnsServerDsc) (issue #193).
Migrate to use the resource DnsServerScavenging to enforce these properties.EnableEDnsProbes
and EDnsCacheTimeout
will be removed from
the resource xDnsServerSetting in the next release (of DnsServerDsc) (issue #195).
Migrate to use the resource DnsServerEDns to enforce these properties.Forwarders
and ForwardingTimeout
will be removed from the
resource xDnsServerSetting in the next release (of DnsServerDsc) (issue #192)
Migrate to use the resource xDnsServerForwarder to enforce these properties.Publish_GitHub_Wiki_Content
to publish content
to the GitHub repository wiki.WikiSource
which content will be published
to the GitHub repository wiki.
Home.md
which will be automatically updated
with the latest version before published to GitHub repository wiki.Home.md
)
that Microsoft DNS Server is required on a node targeted by a resource,
and that the DSC resources requires the DnsServer
PowerShell module (issue #37).ResourcePropertiesBase
to hold DSC properties that
can be inherited for all class-based resources.ResourceBase
to hold methods that should be
inherited for all class-based resources.ConvertTo-TimeSpan
to help when evaluating
properties that must be passed as strings and then converted to [System.TimeSpan]
.Assert-TimeSpan
to help assert that a value
provided in a resource can be converted to a [System.TimeSpan]
and
optionally evaluates so it is not below a minium value or over a maximum
value.prefix.ps1
that is used to import dependent modules like DscResource.Common.ZoneFile
was added to return the zone scope
file name used for the zone scope.Timeout
and EnableReordering
(issue #191).DnsRecordBase
that is used as the base class for the resources that create DNS records.
throw
statements get called)main
(issue #131).PublishPipelineArtifact
in Azure Pipelines pipeline.[CimInstance]::new()
both in the resource code and the resource
unit test to clone the existing DNS record instead of using the method
Clone()
that does not exist in PowerShell 7.DnsServer
. This prevents the resource from being used twice
in the same configuration using the same value for the parameter DnsServer
(issue #156).DnsServer
. This prevents the resource from being used twice
in the same configuration using the same value for the parameter DnsServer
(issue #157).Name
is always returned from Get-TargetResource
since it is a Key
property.Remove-CommonParameter
in favor of the one in
module DscResource.Common (issue #166).ConvertTo-CimInstance
in favor of the one in
module DscResource.Common (issue #167).ConvertTo-HashTable
in favor of the one in
module DscResource.Common (issue #168).LogIPFilterList
, LogFilePath
, LogFileMaxSize
,
and EventLogLevel
have been removed. Use the resource xDnsServerDiagnostics
with the properties FilterIPAddressList
, LogFilePath
, MaxMBFileSize
,
and EventLogLevel
respectively to enforce these settings (issue #190).
This is done in preparation to support more settings through the cmdlet
Get-DnsServerSetting
for the resource xDnServerSetting, and these
values are not available through that cmdlet.Compare-DscParameterState
is used in the method Test()
if the record already exist, to compare the properties except Ensure
in the desired state against the actual state (issue #205).EnableLogFileRollover
.ComputerName
can be used without throwing an exception
(issue 79).Get-TargetResource
.UseRooHint
without
changing forwarders.2.0.0
will be the the last release of xDnsServer. Version 3.0.0
will be
release as DnsServerDsc, it will be released shortly after the 2.0.0
release (issue #179).
The prefix 'x' will be removed from all resources in DnsServerDsc.DefaultAgingState
, ScavengingInterval
, DefaultNoRefreshInterval
,
and DefaultRefreshInterval
will be removed from the resource xDnsServerSetting
in the next release (of DnsServerDsc) (issue #193).
Migrate to use the resource DnsServerScavenging to enforce these properties.EnableEDnsProbes
and EDnsCacheTimeout
will be removed from
the resource xDnsServerSetting in the next release (of DnsServerDsc) (issue #195).
Migrate to use the resource DnsServerEDns to enforce these properties.Forwarders
and ForwardingTimeout
will be removed from the
resource xDnsServerSetting in the next release (of DnsServerDsc) (issue #192)
Migrate to use the resource xDnsServerForwarder to enforce these properties.Publish_GitHub_Wiki_Content
to publish content
to the GitHub repository wiki.WikiSource
which content will be published
to the GitHub repository wiki.
Home.md
which will be automatically updated
with the latest version before published to GitHub repository wiki.Home.md
)
that Microsoft DNS Server is required on a node targeted by a resource,
and that the DSC resources requires the DnsServer
PowerShell module (issue #37).ResourcePropertiesBase
to hold DSC properties that
can be inherited for all class-based resources.ResourceBase
to hold methods that should be
inherited for all class-based resources.ConvertTo-TimeSpan
to help when evaluating
properties that must be passed as strings and then converted to [System.TimeSpan]
.Assert-TimeSpan
to help assert that a value
provided in a resource can be converted to a [System.TimeSpan]
and
optionally evaluates so it is not below a minium value or over a maximum
value.prefix.ps1
that is used to import dependent modules like DscResource.Common.ZoneFile
was added to return the zone scope
file name used for the zone scope.Timeout
and EnableReordering
(issue #191).DnsRecordBase
that is used as the base class for the resources that create DNS records.
throw
statements get called)main
(issue #131).PublishPipelineArtifact
in Azure Pipelines pipeline.[CimInstance]::new()
both in the resource code and the resource
unit test to clone the existing DNS record instead of using the method
Clone()
that does not exist in PowerShell 7.DnsServer
. This prevents the resource from being used twice
in the same configuration using the same value for the parameter DnsServer
(issue #156).DnsServer
. This prevents the resource from being used twice
in the same configuration using the same value for the parameter DnsServer
(issue #157).Name
is always returned from Get-TargetResource
since it is a Key
property.Remove-CommonParameter
in favor of the one in
module DscResource.Common (issue #166).ConvertTo-CimInstance
in favor of the one in
module DscResource.Common (issue #167).ConvertTo-HashTable
in favor of the one in
module DscResource.Common (issue #168).LogIPFilterList
, LogFilePath
, LogFileMaxSize
,
and EventLogLevel
have been removed. Use the resource xDnsServerDiagnostics
with the properties FilterIPAddressList
, LogFilePath
, MaxMBFileSize
,
and EventLogLevel
respectively to enforce these settings (issue #190).
This is done in preparation to support more settings through the cmdlet
Get-DnsServerSetting
for the resource xDnServerSetting, and these
values are not available through that cmdlet.Compare-DscParameterState
is used in the method Test()
if the record already exist, to compare the properties except Ensure
in the desired state against the actual state (issue #205).EnableLogFileRollover
.ComputerName
can be used without throwing an exception
(issue 79).Get-TargetResource
.UseRooHint
without
changing forwarders.