DSCResources/DSC_DnsServerDiagnostics/en-US/about_DnsServerDiagnostics.help.txt

.NAME
    DnsServerDiagnostics
 
.DESCRIPTION
    The DnsServerDiagnostics DSC resource manages the debugging and logging
    parameters on a Domain Name System (DNS) server.
 
    If the parameter DnsServer is set to 'localhost' then the resource
    can normally use the default credentials (SYSTEM) to configure the DNS server
    settings. If using any other value for the parameter DnsServer make sure
    that the credential the resource is run as have the correct permissions
    at the target node and the necessary network traffic is permitted.
    It is possible to run the resource with specific credentials using the
    built-in parameter PsDscRunAsCredential.
 
.PARAMETER DnsServer
    Key - String
    Specifies the DNS server to connect to, or use 'localhost' for the current node.
 
.PARAMETER Answers
    Write - Boolean
    Specifies whether to enable the logging of DNS responses.
 
.PARAMETER EnableLogFileRollover
    Write - Boolean
    Specifies whether to enable log file rollover.
 
.PARAMETER EnableLoggingForLocalLookupEvent
    Write - Boolean
    Specifies whether the DNS server logs local lookup events.
 
.PARAMETER EnableLoggingForPluginDllEvent
    Write - Boolean
    Specifies whether the DNS server logs dynamic link library (DLL) plug-in events.
 
.PARAMETER EnableLoggingForRecursiveLookupEvent
    Write - Boolean
    Specifies whether the DNS server logs recursive lookup events.
 
.PARAMETER EnableLoggingForRemoteServerEvent
    Write - Boolean
    Specifies whether the DNS server logs remote server events.
 
.PARAMETER EnableLoggingForServerStartStopEvent
    Write - Boolean
    Specifies whether the DNS server logs server start and stop events.
 
.PARAMETER EnableLoggingForTombstoneEvent
    Write - Boolean
    Specifies whether the DNS server logs tombstone events.
 
.PARAMETER EnableLoggingForZoneDataWriteEvent
    Write - Boolean
    Specifies whether the DNS server logs zone data write events.
 
.PARAMETER EnableLoggingForZoneLoadingEvent
    Write - Boolean
    Specifies whether the DNS server logs zone load events.
 
.PARAMETER EnableLoggingToFile
    Write - Boolean
    Specifies whether the DNS server logs logging-to-file.
 
.PARAMETER EventLogLevel
    Write - UInt32
    Specifies an event log level. Valid values are Warning, Error, and None.
 
.PARAMETER FilterIPAddressList
    Write - StringArray
    Specifies an array of IP addresses to filter. When you enable logging, traffic to and from these IP addresses is logged. If you do not specify any IP addresses, traffic to and from all IP addresses is logged.
 
.PARAMETER FullPackets
    Write - Boolean
    Specifies whether the DNS server logs full packets.
 
.PARAMETER LogFilePath
    Write - String
    Specifies a log file path.
 
.PARAMETER MaxMBFileSize
    Write - UInt32
    Specifies the maximum size of the log file. This parameter is relevant if you set EnableLogFileRollover and EnableLoggingToFile to $true.
 
.PARAMETER Notifications
    Write - Boolean
    Specifies whether the DNS server logs notifications.
 
.PARAMETER Queries
    Write - Boolean
    Specifies whether the DNS server allows query packet exchanges to pass through the content filter, such as the FilterIPAddressList parameter.
 
.PARAMETER QuestionTransactions
    Write - Boolean
    Specifies whether the DNS server logs queries.
 
.PARAMETER ReceivePackets
    Write - Boolean
    Specifies whether the DNS server logs receive packets.
 
.PARAMETER SaveLogsToPersistentStorage
    Write - Boolean
    Specifies whether the DNS server saves logs to persistent storage.
 
.PARAMETER SendPackets
    Write - Boolean
    Specifies whether the DNS server logs send packets.
 
.PARAMETER TcpPackets
    Write - Boolean
    Specifies whether the DNS server logs TCP packets.
 
.PARAMETER UdpPackets
    Write - Boolean
    Specifies whether the DNS server logs UDP packets.
 
.PARAMETER UnmatchedResponse
    Write - Boolean
    Specifies whether the DNS server logs unmatched responses.
 
.PARAMETER Update
    Write - Boolean
    Specifies whether the DNS server logs updates.
 
.PARAMETER UseSystemEventLog
    Write - Boolean
    Specifies whether the DNS server uses the system event log for logging.
 
.PARAMETER WriteThrough
    Write - Boolean
    Specifies whether the DNS server logs write-throughs.
 
.EXAMPLE 1
 
This configuration will manage a DNS server's diagnostics settings
 
Configuration DnsServerDiagnostics_CurrentNode_Config
{
    Import-DscResource -ModuleName 'DnsServerDsc'
 
    Node localhost
    {
        DnsServerDiagnostics 'Diagnostics'
        {
            DnsServer = 'localhost'
            Answers = $true
            EnableLogFileRollover = $true
            EnableLoggingForLocalLookupEvent = $true
            EnableLoggingForPluginDllEvent = $true
            EnableLoggingForRecursiveLookupEvent = $true
            EnableLoggingForRemoteServerEvent = $true
            EnableLoggingForServerStartStopEvent = $true
            EnableLoggingForTombstoneEvent = $true
            EnableLoggingForZoneDataWriteEvent = $true
            EnableLoggingForZoneLoadingEvent = $true
            EnableLoggingToFile = $true
            EventLogLevel = 7
            FilterIPAddressList = @('10.0.10.1', '10.0.10.2')
            FullPackets = $false
            LogFilePath = 'd:\dnslogs\dns.log'
            MaxMBFileSize = 500000000
            Notifications = $true
            Queries = $true
            QuestionTransactions = $true
            ReceivePackets = $false
            SaveLogsToPersistentStorage = $true
            SendPackets = $false
            TcpPackets = $false
            UdpPackets = $false
            UnmatchedResponse = $false
            Update = $true
            UseSystemEventLog = $true
            WriteThrough = $true
        }
    }
}
 
.EXAMPLE 2
 
This configuration will manage a DNS server's diagnostics settings
 
Configuration DnsServerDiagnostics_RemoteNode_Config
{
    Import-DscResource -ModuleName 'DnsServerDsc'
 
    Node localhost
    {
        DnsServerDiagnostics 'Diagnostics'
        {
            DnsServer = 'dns1.company.local'
            Answers = $true
            EnableLogFileRollover = $true
            EnableLoggingForLocalLookupEvent = $true
            EnableLoggingForPluginDllEvent = $true
            EnableLoggingForRecursiveLookupEvent = $true
            EnableLoggingForRemoteServerEvent = $true
            EnableLoggingForServerStartStopEvent = $true
            EnableLoggingForTombstoneEvent = $true
            EnableLoggingForZoneDataWriteEvent = $true
            EnableLoggingForZoneLoadingEvent = $true
            EnableLoggingToFile = $true
            EventLogLevel = 7
            FilterIPAddressList = @('10.0.10.1', '10.0.10.2')
            FullPackets = $false
            LogFilePath = 'd:\dnslogs\dns.log'
            MaxMBFileSize = 500000000
            Notifications = $true
            Queries = $true
            QuestionTransactions = $true
            ReceivePackets = $false
            SaveLogsToPersistentStorage = $true
            SendPackets = $false
            TcpPackets = $false
            UdpPackets = $false
            UnmatchedResponse = $false
            Update = $true
            UseSystemEventLog = $true
            WriteThrough = $true
        }
    }
}