FILE: C:\Windows\SysWOW64\WindowsPowerShell\v1.0\Modules\DnsServer\DnsServerPsProvider.Format.ps1xml
--
DNSServerDirectoryPartition_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerDirectoryPartition
45
29
33
9
DirectoryPartitionName
if ($_.State -eq 0)
{
"0(DNS_DP_OKAY)"
}
elseif($_.State -eq 1)
{
"1(DNS_DP_STATE_REPL_INCOMING)"
}
elseif($_.State -eq 2)
{
"2(DNS_DP_STATE_REPL_OUTGOING)"
}
elseif($_.State -eq 3)
{
"3(DNS_DP_STATE_UNKNOWN)"
}
Flags
ZoneCount
DNSServerDirectoryPartition_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerDirectoryPartition
DirectoryPartitionName
if ($_.State -eq 0)
{
"0(DNS_DP_OKAY)"
}
elseif($_.State -eq 1)
{
"1(DNS_DP_STATE_REPL_INCOMING)"
}
elseif($_.State -eq 2)
{
"2(DNS_DP_STATE_REPL_OUTGOING)"
}
elseif($_.State -eq 3)
{
"3(DNS_DP_STATE_UNKNOWN)"
}
Flags
ZoneCount
DirectoryPartitionDistinguishedName
CrossReferenceDistinguishedName
Replica
DNSServerDirectoryPartition_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerDirectoryPartition
DirectoryPartitionName
DNSServerDsSetting_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerDsSetting
$_.PollingInterval
TombstoneInterval
DirectoryPartitionAutoEnlistInterval
$_.LazyUpdateInterval
MinimumBackgroundLoadThreads
$_.RemoteReplicationDelay
DnsServerDsSetting_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerDsSetting
24
36
27
28
PollingInterval
DirectoryPartitionAutoEnlistInterval
LazyUpdateInterval
MinimumBackgroundLoadThreads
DnsServerScavenging_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerScavenging
NoRefreshInterval
RefreshInterval
ScavengingInterval
ScavengingState
LastScavengeTime
DnsServerScavenging_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerScavenging
NoRefreshInterval
RefreshInterval
ScavengingInterval
ScavengingState
LastScavengeTime
DnsServerSettingBrief_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerSettingBrief
ComputerName
MajorVersion
MinorVersion
BuildNumber
IsReadOnlyDC
EnableDnsSec
EnableIPv6
ListeningIPAddress
AllIPAddress
DnsServerSettingBrief_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerSettingBrief
48
ComputerName
MajorVersion
MinorVersion
IsReadOnlyDC
EnableDnsSec
EnableIPv6
DnsServerDiagnostics_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerDiagnostics
SaveLogsToPersistentStorage
Queries
Answers
Notifications
Update
QuestionTransactions
UnmatchedResponse
SendPackets
ReceivePackets
TcpPackets
UdpPackets
FullPackets
FilterIPAddressList
EventLogLevel
UseSystemEventLog
EnableLoggingToFile
EnableLogFileRollover
LogFilePath
MaxMBFileSize
WriteThrough
EnableLoggingForLocalLookupEvent
EnableLoggingForPluginDllEvent
EnableLoggingForRecursiveLookupEvent
EnableLoggingForRemoteServerEvent
EnableLoggingForServerStartStopEvent
EnableLoggingForTombstoneEvent
EnableLoggingForZoneDataWriteEvent
EnableLoggingForZoneLoadingEvent
DnsServerDiagnostics_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerDiagnostics
30
10
10
20
40
SaveLogsToPersistentStorage
Queries
Answers
EnableLoggingToFile
LogFilePath
DnsServerForwarder_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerForwarder
UseRootHint
$_.Timeout
EnableReordering
IPAddress
ReorderedIPAddress
DnsServerForwarder_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerForwarder
UseRootHint
Timeout
IPAddress
DnsServerForwarder_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerForwarder
IPAddress
DnsServerRecursionScope_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerRecursionScope
Name
Forwarder
EnableRecursion
DnsServerRecursionScope_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerRecursionScope
Name
Forwarder
EnableRecursion
DnsServerVirtualizationInstance_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerVirtualizationInstance
40
35
40
VirtualizationInstance
FriendlyName
Description
DnsServerVirtualizationInstance_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerVirtualizationInstance
VirtualizationInstance
FriendlyName
Description
DnsServerResponseRateLimitingExceptionlist_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerResponseRateLimitingExceptionlist
Name
Condition
ClientSubnet
Fqdn
ServerInterfaceIP
DnsServerResponseRateLimitingExceptionlist_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerResponseRateLimitingExceptionlist
Name
Condition
ClientSubnet
Fqdn
ServerInterfaceIP
DnsServerGlobalNameZone_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerGlobalNameZone
Enable
GlobalOverLocal
$_.PreferAaaa
AlwaysQueryServer
EnableEDnsProbes
BlockUpdates
$_.SendTimeout
ServerQueryInterval
DnsServerGlobalNameZone_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerGlobalNameZone
Enable
GlobalOverLocal
PreferAaaa
AlwaysQueryServer
BlockUpdates
DnsServerPolicyCriteria_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerPolicyCriteria
CriteriaType
Criteria
DnsServerPolicyContent_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerPolicyContent
ScopeName
Weight
DnsServerPolicy_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerPolicy
Name
ProcessingOrder
IsEnabled
Action
DnsServerPolicy_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerPolicy
Name
Level
AppliesOn
Action
Condition
IsEnabled
ProcessingOrder
ZoneName
{DnsServerPolicyCriteria}
{DnsServerPolicyContent}
DnsServerResponseRateLimiting_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerResponseRateLimiting
ResponsesPerSec
ErrorsPerSec
WindowInSec
IPv4PrefixLength
IPv6PrefixLength
LeakRate
TruncateRate
MaximumResponsesPerWindow
Mode
DnsServerResponseRateLimiting_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerResponseRateLimiting
ResponsesPerSec
ErrorsPerSec
WindowInSec
IPv4PrefixLength
IPv6PrefixLength
LeakRate
TruncateRate
MaximumResponsesPerWindow
Mode
DnsServerCache_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerCache
$_.MaxTtl
$_.MaxNegativeTtl
MaxKBSize
EnablePollutionProtection
LockingPercent
StoreEmptyAuthenticationResponse
IgnorePolicies
DnsServerCache_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerCache
MaxTtl
MaxNegativeTtl
EnablePollutionProtection
LockingPercent
IgnorePolicies
DnsServerCache_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerCache
$_.ZoneName
$_.ZoneType
DnsServerEdns_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerEDns
CacheTimeout
EnableProbes
EnableReception
DnsServerEdns_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerEDns
CacheTimeout
EnableProbes
EnableReception
DnsServerZoneAging_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerZoneAging
ZoneName
AgingEnabled
AvailForScavengeTime
RefreshInterval
NoRefreshInterval
ScavengeServers
DnsServerZoneAging_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerZoneAging
ZoneName
AgingEnabled
AvailForScavengeTime
RefreshInterval
NoRefreshInterval
ScavengeServers
DnsServerZoneAging_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerZoneAging
RefreshInterval
DnsServerRecursion_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerRecursion
Enable
$_.AdditionalTimeout
$_.RetryInterval
$_.Timeout
SecureResponse
DnsServerRecursion_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerRecursion
Enable
AdditionalTimeout
RetryInterval
Timeout
SecureResponse
DnsServerRecursion_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerRecursion
Enable
DnsServerGlobalQueryBlockList_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerGlobalQueryBlockList
Enable
List
DnsServerGlobalQueryBlockList_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerGlobalQueryBlockList
Enable
List
DnsServerGlobalQueryBlockList_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerGlobalQueryBlockList
List
DnsServerZoneDelegation_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerZoneDelegation
ZoneName
ChildZoneName
$_.NameServer.RecordData.NameServer
$AddrArray = $_.IPAddress
foreach($Address in $AddrArray)
{
if($Address.RecordType -eq "A")
{$Address.RecordData.IPv4Address;}
else
{$Address.RecordData.IPv6Address;}
}
DnsServerZoneDelegation_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerZoneDelegation
ZoneName
ChildZoneName
$_.NameServer.RecordData.NameServer
$AddrArray = $_.IPAddress
foreach($Address in $AddrArray)
{
if($Address.RecordType -eq "A")
{$Address.RecordData.IPv4Address;}
else
{$Address.RecordData.IPv6Address;}
}
DnsServerZoneDelegation_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerZoneDelegation
$_.NameServer.RecordData.NameServer
DnsServerRootHint_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerRootHint
$_.NameServer.RecordData.NameServer
$AddrArray = $_.IPAddress
foreach( $Address in $AddrArray)
{
if($Address.RecordType -eq "A")
{$Address.RecordData.IPv4Address;}
else
{$Address.RecordData.IPv6Address;}
}
DnsServerRootHint_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerRootHint
$_.NameServer.RecordData.NameServer
$AddrArray = $_.IPAddress
foreach( $Address in $AddrArray)
{
if($Address.RecordType -eq "A")
{$Address.RecordData.IPv4Address;}
else
{$Address.RecordData.IPv6Address;}
}
DnsServerRootHint_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerRootHint
$_.NameServer.RecordData.NameServer
DnsServerClientSubnet_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerClientSubnet
Name
IPV4Subnet
IPV6Subnet
DnsServerClientSubnet_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerClientSubnet
Name
IPV4Subnet
IPV6Subnet
DnsServerResourceRecord_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerResourceRecord
25
10
10
20
15
50
HostName
RecordType
Type
if ($_.Timestamp -eq $null)
{
0
}
else
{
$_.Timestamp
}
TimeToLive
if( $_.RecordType -eq "A" )
{
$_.RecordData.IPv4Address
}
elseif( $_.RecordType -eq "AAAA" )
{
$_.RecordData.IPv6Address
}
elseif( $_.RecordType -eq "AFSDB")
{
"[" + $_.RecordData.SubType + "][" + $_.RecordData.ServerName + "]"
}
elseif( $_.RecordType -eq "ATMA")
{
"[" + $_.RecordData.AddressType + "][" + $_.RecordData.Address + "]"
}
elseif( $_.RecordType -eq "CNAME")
{
$_.RecordData.HostNameAlias
}
elseif( $_.RecordType -eq "DHCID")
{
$_.RecordData.DHCID
}
elseif( $_.RecordType -eq "DNAME")
{
$_.RecordData.DomainNameAlias
}
elseif( $_.RecordType -eq "HINFO")
{
"[" + $_.RecordData.Cpu + "][" + $_.RecordData.OperatingSystem + "]"
}
elseif( $_.RecordType -eq "ISDN")
{
"[" + $_.RecordData.IsdnNumber + "][" + $_.RecordData.IsdnSubAddress + "]"
}
elseif( $_.RecordType -eq "MX")
{
"[" + $_.RecordData.Preference + "][" + $_.RecordData.MailExchange + "]"
}
elseif( $_.RecordType -eq "NS" )
{
$_.RecordData.NameServer
}
elseif( $_.RecordType -eq "PTR")
{
$_.RecordData.PtrDomainName
}
elseif( $_.RecordType -eq "RP")
{
"[" + $_.RecordData.ResponsiblePerson + "][" + $_.RecordData.Description + "]"
}
elseif( $_.RecordType -eq "RT")
{
"[" + $_.RecordData.Preference + "][" + $_.RecordData.IntermediateHost + "]"
}
elseif( $_.RecordType -eq "SOA" )
{
"[" + $_.RecordData.SerialNumber + "][" + $_.RecordData.PrimaryServer + "][" + $_.RecordData.ResponsiblePerson + "]"
}
elseif( $_.RecordType -eq "SRV")
{
"[" + $_.RecordData.Priority + "][" + $_.RecordData.Weight + "][" + $_.RecordData.Port + "][" + $_.RecordData.DomainName + "]"
}
elseif( $_.RecordType -eq "TXT")
{
$_.RecordData.DescriptiveText
}
elseif( $_.RecordType -eq "WINS")
{
"[" + $_.RecordData.Replicate + "][" + $_.RecordData.WinsServers + "]"
}
elseif( $_.RecordType -eq "WINSR")
{
"[" + $_.RecordData.Replicate + "][" + $_.RecordData.ResultDomain + "]"
}
elseif( $_.RecordType -eq "WKS")
{
"[" + $_.RecordData.InternetProtocol + "][" + $_.RecordData.Service + "]"
}
elseif( $_.RecordType -eq "X25")
{
$_.RecordData.PSDNAddress
}
elseif( $_.RecordType -eq "DNSKEY")
{
if($_.RecordData.Revoked -eq $True)
{
$dnskeyData = "[Revoked]"
}
if($_.RecordData.SecureEntryPoint -eq $True)
{
$dnskeyData += "[SEP]"
}
if($_.RecordData.ZoneKey -eq $True)
{
$dnskeyData += "[ZoneKey]"
}
$dnsKeyData += "[" + $_.RecordData.CryptoAlgorithm + "][" + $_.RecordData.KeyTag + "]"
$dnsKeyData
}
elseif( $_.RecordType -eq "DS")
{
"[" + $_.RecordData.KeyTag + "][" + $_.RecordData.DigestType + "][" + $_.RecordData.CryptoAlgorithm + "]"
}
elseif( $_.RecordType -eq "NSEC")
{
"[" + $_.RecordData.Name + "][" + $_.RecordData.CoveredRecordTypes + "]"
}
elseif( $_.RecordType -eq "NSEC3")
{
"[" + $_.RecordData.HashAlgorithm + "][" + $_.RecordData.OptOut + "][" + $_.RecordData.Iterations + "][" + $_.RecordData.Salt + "]"
}
elseif( $_.RecordType -eq "NSEC3PARAM")
{
"[" + $_.RecordData.HashAlgorithm + "][" + $_.RecordData.Iterations + "][" + $_.RecordData.Salt + "]"
}
elseif( $_.RecordType -eq "RRSIG")
{
"[" + $_.RecordData.TypeCovered + "][" + $_.RecordData.CryptoAlgorithm + "][" + $_.RecordData.KeyTag + "]"
}
elseif( $_.RecordType -eq "UNKNOWN" )
{
$_.RecordData.Data
}
elseif( $_.RecordType -eq "TLSA")
{
"[" + $_.RecordData.CertificateUsage + "][" + $_.RecordData.Selector + "][" + $_.RecordData.MatchingType + "][" + $_.RecordData.CertificateAssociationData + "]"
}
DnsServerResourceRecord_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerResourceRecord
DistinguishedName
HostName
RecordType
Type
RecordClass
$_.TimeToLive
if ($_.Timestamp -eq $null)
{
0
}
else
{
$_.Timestamp
}
if( $_.RecordType -eq "A" )
{
$_.RecordData.IPv4Address
}
elseif( $_.RecordType -eq "AAAA" )
{
$_.RecordData.IPv6Address
}
elseif( $_.RecordType -eq "AFSDB")
{
"[" + $_.RecordData.SubType + "][" + $_.RecordData.ServerName + "]"
}
elseif( $_.RecordType -eq "ATMA")
{
"[" + $_.RecordData.AddressType + "][" + $_.RecordData.Address + "]"
}
elseif( $_.RecordType -eq "CNAME")
{
$_.RecordData.HostNameAlias
}
elseif( $_.RecordType -eq "DHCID")
{
$_.RecordData.DHCID
}
elseif( $_.RecordType -eq "DNAME")
{
$_.RecordData.DomainNameAlias
}
elseif( $_.RecordType -eq "HINFO")
{
"[" + $_.RecordData.Cpu + "][" + $_.RecordData.OperatingSystem + "]"
}
elseif( $_.RecordType -eq "ISDN")
{
"[" + $_.RecordData.IsdnNumber + "][" + $_.RecordData.IsdnSubAddress + "]"
}
elseif( $_.RecordType -eq "MX")
{
"[" + $_.RecordData.Preference + "][" + $_.RecordData.MailExchange + "]"
}
elseif( $_.RecordType -eq "NS" )
{
$_.RecordData.NameServer
}
elseif( $_.RecordType -eq "PTR")
{
$_.RecordData.PtrDomainName
}
elseif( $_.RecordType -eq "RP")
{
"[" + $_.RecordData.ResponsiblePerson + "][" + $_.RecordData.Description + "]"
}
elseif( $_.RecordType -eq "RT")
{
"[" + $_.RecordData.Preference + "][" + $_.RecordData.IntermediateHost + "]"
}
elseif( $_.RecordType -eq "SOA" )
{
"[" + $_.RecordData.SerialNumber + "][" + $_.RecordData.PrimaryServer + "][" + $_.RecordData.ResponsiblePerson + "][" + $_.RecordData.ExpireLimit + "][" + $_.RecordData.MinimumTimetoLive + "][" + $_.RecordData.RefreshInterval + "][" + $_.RecordData.RetryDelay + "]"
}
elseif( $_.RecordType -eq "SRV")
{
"[" + $_.RecordData.Priority + "][" + $_.RecordData.Weight + "][" + $_.RecordData.Port + "][" + $_.RecordData.DomainName + "]"
}
elseif( $_.RecordType -eq "TXT")
{
$_.RecordData.DescriptiveText
}
elseif( $_.RecordType -eq "WINS")
{
"[" + $_.RecordData.Replicate + "][" + $_.RecordData.LookupTimeout + "][" + $_.RecordData.CacheTimeout + "][" + $_.RecordData.WinsServers + "]"
}
elseif( $_.RecordType -eq "WINSR")
{
"[" + $_.RecordData.Replicate + "][" + $_.RecordData.LookupTimeout + "][" + $_.RecordData.CacheTimeout + "][" + $_.RecordData.ResultDomain + "]"
}
elseif( $_.RecordType -eq "WKS")
{
"[" + $_.RecordData.InternetProtocol + "][" + $_.RecordData.Service + "][" + $_.RecordData.InternetAddress + "]"
}
elseif( $_.RecordType -eq "X25")
{
$_.RecordData.PSDNAddress
}
elseif( $_.RecordType -eq "DNSKEY")
{
if($_.RecordData.Revoked -eq $True)
{
$dnskeyData = "[Revoked]"
}
if($_.RecordData.SecureEntryPoint -eq $True)
{
$dnskeyData += "[SEP]"
}
if($_.RecordData.ZoneKey -eq $True)
{
$dnskeyData += "[ZoneKey]"
}
$dnskeyData += "[" + $_.RecordData.CryptoAlgorithm + "][" + $_.RecordData.KeyTag + "][" + $_.RecordData.KeyProtocol + "][" + $_.RecordData.Base64Data + "]"
$dnskeyData
}
elseif( $_.RecordType -eq "DS")
{
"[" + $_.RecordData.KeyTag + "][" + $_.RecordData.CryptoAlgorithm + "][" + $_.RecordData.DigestType + "][" + $_.RecordData.Digest + "]"
}
elseif( $_.RecordType -eq "NSEC")
{
"[" + $_.RecordData.Name + "][" + $_.RecordData.CoveredRecordTypes + "]"
}
elseif( $_.RecordType -eq "NSEC3")
{
"[" + $_.RecordData.HashAlgorithm + "][" + $_.RecordData.OptOut + "][" + $_.RecordData.Iterations + "][" + $_.RecordData.Salt + "][" + $_.RecordData.NextHashedOwnerName + "][" + $_.RecordData.CoveredRecordTypes + "]"
}
elseif( $_.RecordType -eq "NSEC3PARAM")
{
"[" + $_.RecordData.HashAlgorithm + "][" + $_.RecordData.Iterations + "][" + $_.RecordData.Salt + "]"
}
elseif( $_.RecordType -eq "RRSIG")
{
"[" + $_.RecordData.TypeCovered + "][" + $_.RecordData.CryptoAlgorithm + "][" + $_.RecordData.KeyTag + "]["+ $_.RecordData.LabelCount + "][" + $_.RecordData.NameSigner + "][" + "SignatureInception: " + $_.RecordData.SignatureInception + "][" + "SignatureExpiration: " + $_.RecordData.SignatureExpiration + "][" + $_.RecordData.OriginalTtl + "][" + $_.RecordData.Signature + "]"
}
elseif( $_.RecordType -eq "UNKNOWN" )
{
$_.RecordData.Data
}
elseif( $_.RecordType -eq "TLSA")
{
"[" + $_.RecordData.CertificateUsage + "][" + $_.RecordData.Selector + "][" + $_.RecordData.MatchingType + "][" + $_.RecordData.CertificateAssociationData + "]"
}
DnsServerResourceRecord_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerResourceRecord
$_.HostName
$_.RecordType
DnsServerSetting_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerSetting
ComputerName
MajorVersion
MinorVersion
BuildNumber
IsReadOnlyDC
EnableDnsSec
EnableIPv6
EnableOnlineSigning
NameCheckFlag
AddressAnswerLimit
$_.XfrConnectTimeout
BootMethod
AllowUpdate
UpdateOptions
DsAvailable
DisableAutoReverseZone
AutoCacheUpdate
RoundRobin
LocalNetPriority
StrictFileParsing
LooseWildcarding
BindSecondaries
WriteAuthorityNS
ForwardDelegations
AutoConfigFileZones
EnableDirectoryPartitions
RpcProtocol
EnableVersionQuery
EnableDuplicateQuerySuppression
$_.LameDelegationTtl
AutoCreateDelegation
AllowCnameAtNs
RemoteIPv4RankBoost
RemoteIPv6RankBoost
EnableRsoForRodc
MaximumRodcRsoQueueLength
MaximumRodcRsoAttemptsPerCycle
OpenAclOnProxyUpdates
NoUpdateDelegations
EnableUpdateForwarding
MaxResourceRecordsInNonSecureUpdate
EnableWinsR
LocalNetPriorityMask
DeleteOutsideGlue
AppendMsZoneTransferTag
AllowReadOnlyZoneTransfer
$_.MaximumUdpPacketSize
$_.TcpReceivePacketSize
EnableSendErrorSuppression
SelfTest
XfrThrottleMultiplier
SilentlyIgnoreCnameUpdateConflicts
EnableIQueryResponseGeneration
SocketPoolSize
AdminConfigured
SocketPoolExcludedPortRanges
ForestDirectoryPartitionBaseName
DomainDirectoryPartitionBaseName
ServerLevelPluginDll
EnableRegistryBoot
PublishAutoNet
$_.QuietRecvFaultInterval
$_.QuietRecvLogInterval
ReloadException
SyncDsZoneSerial
EnableDuplicateQuerySuppression
if ($_.SendPort -eq "0")
{
"Random"
}
else
{
$_.SendPort
}
MaximumSignatureScanPeriod
MaximumTrustAnchorActiveRefreshInterval
ListeningIPAddress
AllIPAddress
ZoneWritebackInterval
RootTrustAnchorsURL
ScopeOptionValue
IgnoreServerLevelPolicies
IgnoreAllPolicies
VirtualizationInstanceOptionValue
DnsServerSetting_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerSetting
ComputerName
MajorVersion
MinorVersion
IsReadOnlyDC
EnableDnsSec
EnableIPv6
DnsServerSigningKey_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerSigningKey
38
15
18
10
15
20
KeyId
KeyType
CryptoAlgorithm
KeyLength
StoreKeysInAD
IsRolloverEnabled
DnsServerSigningKey_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerSigningKey
ZoneName
KeyId
KeyType
CryptoAlgorithm
KeyLength
KeyStorageProvider
StoreKeysInAD
CurrentState
IsRolloverEnabled
RolloverType
if ($_.RolloverPeriod -ne [TimeSpan]::MaxValue) { $_.RolloverPeriod }
if ($_.InitialRolloverOffset -ne [TimeSpan]::MaxValue) { $_.InitialRolloverOffset }
CurrentRolloverStatus
NextRolloverAction
LastRolloverTime
NextRolloverTime
DnsKeySignatureValidityPeriod
DSSignatureValidityPeriod
ZoneSignatureValidityPeriod
ActiveKey
StandbyKey
NextKey
DnsServerSigningKey_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerSigningKey
$_.KeyId
$_.KeyType
DnsServerTrustPoint_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerTrustPoint
40
20
25
25
TrustPointName
TrustPointState
LastActiveRefreshTime
NextActiveRefreshTime
DnsServerTrustPoint_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerTrustPoint
TrustPointName
TrustPointState
LastSuccessfulActiveRefreshTime
LastActiveRefreshTime
NextActiveRefreshTime
LastActiveRefreshResult
LastActiveRefreshResultDescription
DnsServerTrustPoint_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerTrustPoint
$_.TrustPointName
$_.TrustPointState
DnsServerTrustAnchor_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerTrustAnchor
30
20
20
50
TrustAnchorName
TrustAnchorType
TrustAnchorState
if ($_.TrustAnchorType -eq "DS")
{
"[" + $_.KeyTag + "][" + $_.TrustAnchorData.CryptoAlgorithm + "][" + $_.TrustAnchorData.DigestType + "][" + $_.TrustAnchorData.Digest + "]"
}
elseif ($_.TrustAnchorType -eq "DnsKey")
{
if($_.TrustAnchorData.Revoked -eq $True)
{
$trustanchorData = "[Revoked]"
}
$trustanchorData += "[" + $_.KeyTag + "][" + $_.TrustAnchorData.KeyProtocol + "][" + $_.TrustAnchorData.CryptoAlgorithm + "][" + $_.TrustAnchorData.Base64Data + "]"
$trustanchorData
}
DnsServerTrustAnchor_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerTrustAnchor
TrustAnchorName
TrustAnchorType
TrustAnchorState
KeyTag
EnteredStateTime
NextStateTime
if ($_.TrustAnchorType -eq "DS")
{
"[" + $_.KeyTag + "][" + $_.TrustAnchorData.CryptoAlgorithm + "][" + $_.TrustAnchorData.DigestType + "][" + $_.TrustAnchorData.Digest + "]"
}
elseif ($_.TrustAnchorType -eq "DnsKey")
{
if($_.TrustAnchorData.Revoked -eq $True)
{
$trustanchorData = "[Revoked]"
}
$trustanchorData += "[" + $_.KeyTag + "][" + $_.TrustAnchorData.KeyProtocol + "][" + $_.TrustAnchorData.CryptoAlgorithm + "][" + $_.TrustAnchorData.Base64Data + "]"
$trustanchorData
}
DnsServerTrustAnchor_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerTrustAnchor
$_.TrustAnchorName
$_.TrustAnchorType
$_.TrustAnchorState
$_.KeyTag
DnsServerDnsSecZoneSetting_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerDnsSecZoneSetting
ZoneName
IsKeyMasterServer
KeyMasterServer
KeyMasterStatus
DenialOfExistence
NSec3HashAlgorithm
NSec3Iterations
NSec3OptOut
IsNSec3SaltConfigured
NSec3RandomSaltLength
NSec3UserSalt
$_.DnsKeyRecordSetTtl
$_.DSRecordSetTtl
DSRecordGenerationAlgorithm
DistributeTrustAnchor
EnableRfc5011KeyRollover
ParentHasSecureDelegation
SecureDelegationPollingPeriod
PropagationTime
SignatureInceptionOffset
DnsServerDnsSecZoneSetting_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerDnsSecZoneSetting
30
20
15
20
25
ZoneName
KeyMasterServer
KeyMasterStatus
DenialOfExistence
EnableRfc5011KeyRollover
DnsServerDnsSecZoneSetting_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerDnsSecZoneSetting
$_.ZoneName
$_.KeyMasterServer
$_.DenialOfExistence
$_.IsNSec3SaltConfigured
DnsServerValidity_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerValidity
IPAddress
Result
RoundTripTime
TcpTried
UdpTried
DnsServerValidity_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerValidity
IPAddress
Result
RoundTripTime
TcpTried
UdpTried
DnsServerValidity_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerValidity
$_.IPAddress
$_.Result
DnsServerZone_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerZone
Microsoft.Management.Infrastructure.CimInstance#DnsServerPrimaryZone
Microsoft.Management.Infrastructure.CimInstance#DnsServerConditionalForwarderZone
Microsoft.Management.Infrastructure.CimInstance#DnsServerSecondaryZone
Microsoft.Management.Infrastructure.CimInstance#DnsServerStubZone
35
15
15
15
20
15
ZoneName
ZoneType
IsAutoCreated
IsDsIntegrated
IsReverseLookupZone
if ($_.ZoneType -match "Secondary|Stub|Forwarder")
{
}
else
{
$_.IsSigned
}
DnsServerZone_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerZone
Microsoft.Management.Infrastructure.CimInstance#DnsServerPrimaryZone
Microsoft.Management.Infrastructure.CimInstance#DnsServerConditionalForwarderZone
Microsoft.Management.Infrastructure.CimInstance#DnsServerSecondaryZone
Microsoft.Management.Infrastructure.CimInstance#DnsServerStubZone
DistinguishedName
ZoneName
ZoneType
if ($_.ZoneType -ne "Primary")
{
}
else
{
$_.DynamicUpdate
}
if ($_.ZoneType -eq "Secondary")
{
}
else
{
$_.ReplicationScope
}
if ($_.ZoneType -eq "Secondary")
{
}
else
{
$_.DirectoryPartitionName
}
if ($_.ZoneType -eq "Forwarder")
{
}
else
{
$_.ZoneFile
}
IsAutoCreated
IsDsIntegrated
IsReadOnly
IsReverseLookupZone
if ($_.ZoneType -match "Secondary|Stub|Forwarder")
{
}
else
{
$_.IsSigned
}
IsPaused
IsShutdown
if ($_.ZoneType -match "Stub|Forwarder")
{
}
else
{
$_.IsWinsEnabled
}
if ($_.ZoneType -ne "Primary")
{
}
else
{
$_.Notify
}
if ($_.ZoneType -ne "Primary")
{
}
else
{
$_.NotifyServers
}
if ($_.ZoneType -ne "Primary")
{
}
else
{
$_.SecureSecondaries
}
if ($_.ZoneType -ne "Primary")
{
}
else
{
$_.SecondaryServers
}
if ($_.ZoneType -match "Primary|Forwarder")
{
}
else
{
$_.LastZoneTransferAttempt
}
if ($_.ZoneType -match "Primary|Forwarder")
{
}
else
{
$_.LastSuccessfulZoneTransfer
}
if ($_.ZoneType -match "Primary|Forwarder")
{
}
else
{
$_.LastZoneTransferResult
}
if ($_.ZoneType -match "Primary|Forwarder")
{
}
else
{
$_.LastSuccessfulSOACheck
}
if ($_.ZoneType -eq "Primary")
{
}
else
{
$_.MasterServers
}
if ($_.ZoneType -ne "Stub")
{
}
else
{
$_.LocalMasters
}
if ($_.ZoneType -ne "Forwarder")
{
}
else
{
$_.UseRecursion
}
if ($_.ZoneType -ne "Forwarder")
{
}
else
{
$_.ForwarderTimeout
}
if ($_.ZoneType -ne "Primary")
{
}
else
{
$_.AllowedDcForNsRecordsAutoCreation
}
DnsServerZone_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerZone
Microsoft.Management.Infrastructure.CimInstance#DnsServerPrimaryZone
Microsoft.Management.Infrastructure.CimInstance#DnsServerConditionalForwarderZone
Microsoft.Management.Infrastructure.CimInstance#DnsServerSecondaryZone
Microsoft.Management.Infrastructure.CimInstance#DnsServerStubZone
$_.ZoneName
$_.ZoneType
DnsServerStatistics_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerStatistics
Function HashToString([HashTable]$obj, $key_width=55, $val_width=40)
{
$property_column = @{"Expression"="Name";"Label"="Parameter"; "Width"=$key_width; "Alignment"="left"}
$value_column = @{"Expression"="Value";"Label"="ParameterValue"; "Width"=$val_width; "Alignment"="left"}
if ($obj -ne $null) {
$str = $obj | Format-Table $property_column, $value_column -HideTableHeaders |Out-String
} else {
$str = "[EMPTY]"
}
return $str
}
function ConvertObjToHASH($Obj)
{
$hash = @{}
if ($null -ne $Obj ) {
foreach ($prop in $Obj.CimInstanceProperties) {
$name = $prop.Name
$value = $prop.Value
if($null -ne $value) {
$hash.add($name, $value)
}
}
}
return $hash
}
$timeHash = ConvertObjToHASH($_.TimeStatistics);
$time = "TimeStatistics:`r`n";
$time += "==============`r`n";
$time += HashToString($timeHash);
$queryHash = ConvertObjToHASH($_.QueryStatistics);
$query = "QueryStatistics:`r`n";
$query += "===============`r`n";
$query += HashToString($queryHash);
$query2Hash = ConvertObjToHASH($_.Query2Statistics);
$query2 = "Query2Statistics:`r`n";
$query2 += "================`r`n";
$query2 += HashToString($query2Hash);
$recursionHash = ConvertObjToHASH($_.RecursionStatistics);
$recursion = "RecursionStatistics:`r`n";
$recursion += "===================`r`n";
$recursion += HashToString($recursionHash);
$dnssecHash = ConvertObjToHASH($_.DnssecStatistics);
$dnssec = "DnsSecStatistics:`r`n";
$dnssec += "=================`r`n";
$dnssec += HashToString($dnssecHash)
$masterHash = ConvertObjToHASH($_.MasterStatistics);
$master = "MasterStatistics:`r`n";
$master += "=================`r`n";
$master += HashToString($masterHash)
$secHash = ConvertObjToHASH($_.SecondaryStatistics);
$sec = "SecondaryStatistics:`r`n";
$sec += "===================`r`n";
$sec += HashToString($secHash)
$winsHash = ConvertObjToHASH($_.WinsStatistics);
$wins = "WinsStatistics:`r`n";
$wins += "===============`r`n";
$wins += HashToString($winsHash)
$updateHash = ConvertObjToHASH($_.UpdateStatistics);
$update = "UpdateStatistics:`r`n";
$update += "================`r`n";
$update += HashToString($updateHash)
$securityHash = ConvertObjToHASH($_.SecurityStatistics);
$security = "SecurityStatistics:`r`n";
$security += "================`r`n";
$security += HashToString($securityHash)
$dsHash = ConvertObjToHASH($_.DsStatistics);
$ds = "DsStatistics:`r`n";
$ds += "=============`r`n";
$ds += HashToString($dsHash)
$memHash = ConvertObjToHASH($_.MemoryStatistics);
$mem = "MemoryStatistics:`r`n";
$mem += "================`r`n";
$mem += HashToString($memHash)
$timeoutHash = ConvertObjToHASH($_.TimeoutStatistics);
$timeout = "TimeoutStatistics:`r`n";
$timeout += "=================`r`n";
$timeout += HashToString($timeoutHash)
$dbHash = ConvertObjToHASH($_.DatabaseStatistics);
$db = "DatabaseStatistics:`r`n";
$db += "=================`r`n";
$db += HashToString($dbHash)
$recordHash = ConvertObjToHASH($_.RecordStatistics);
$record = "RecordStatistics:`r`n";
$record += "=================`r`n";
$record += HashToString($recordHash)
$packetHash = ConvertObjToHASH($_.PacketStatistics);
$packet = "PacketStatistics:`r`n";
$packet += "=================`r`n";
$packet += HashToString($packetHash)
$nbHash = ConvertObjToHASH($_.NetBiosStatistics);
$nb = "NetBiosStatistics:`r`n";
$nb += "==================`r`n";
$nb += HashToString($nbHash)
$prvHash = ConvertObjToHASH($_.PrivateStatistics);
$prv = "PrivateStatistics:`r`n";
$prv += "==================`r`n";
$prv += HashToString($prvHash)
$errorHash = ConvertObjToHASH($_.ErrorStatistics);
$error = "ErrorStatistics:`r`n";
$error += "==================`r`n";
$error += HashToString($errorHash)
$cacheHash = ConvertObjToHASH($_.CacheStatistics);
$cache = "CacheStatistics:`r`n";
$cache += "================`r`n";
$cache += HashToString($cacheHash);
$RRLHash = ConvertObjToHASH($_.RRLStatistics);
$RRL = "RRLStatistics:`r`n";
$RRL += "================`r`n";
$RRL += HashToString($RRLHash);
$time+
$query+
$query2+
$recursion+
$dnssec+
$master+
$sec+
$wins+
$update+
$security+
$ds+
$mem+
$timeout+
$db+
$record+
$packet+
$nb+
$prv+
$error+
$cache+
$RRL
DnsServer_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServer
Function HashToString2([HashTable]$obj, $key_width=55, $val_width=40)
{
$property_column = @{"Expression"="Name";"Label"="Parameter"; "Width"=$key_width; "Alignment"="left"}
$value_column = @{"Expression"="Value";"Label"="ParameterValue"; "Width"=$val_width; "Alignment"="left"}
if ($obj -ne $null) {
$str = $obj | Format-Table $property_column, $value_column -HideTableHeaders |Out-String
} else {
$str = "[EMPTY]"
}
return $str
}
Function ConvertObjToHASH($Obj)
{
$hash = @{}
if ($null -ne $Obj ) {
foreach ($prop in $Obj.CimInstanceProperties) {
$name = $prop.Name
$value = $prop.Value
if($null -ne $value) {
$hash.add($name, $value)
}
}
}
return $hash
}
Function ConvertArrayObjToStringTable($Obj)
{
if ($null -ne $Obj ) {
return $Obj | Format-Table | Out-String
}
}
Function ConvertArrayObjToStringTableWithNoHeaders($Obj)
{
if ($null -ne $Obj ) {
return $Obj | Format-Table -HideTableHeaders | Out-String
}
}
Function ConvertArrayObjToStringList($Obj)
{
if ($null -ne $Obj ) {
return $Obj | Format-List | Out-String
}
}
$ServerSettingHash = ConvertObjToHASH($_.ServerSetting);
$ServerSetting = "ServerSetting:`r`n";
$ServerSetting += "==============`r`n";
$ServerSetting += HashToString2($ServerSettingHash);
$ServerDsSettingHash = ConvertObjToHASH($_.ServerDsSetting);
$ServerDsSetting = "ServerDsSetting:`r`n";
$ServerDsSetting += "===============`r`n";
$ServerDsSetting += HashToString2($ServerDsSettingHash);
$ServerScavengingHash = ConvertObjToHASH($_.ServerScavenging);
$ServerScavenging = "ServerScavenging:`r`n";
$ServerScavenging += "===============`r`n";
$ServerScavenging += HashToString2($ServerScavengingHash);
$ServerRecursionHash = ConvertObjToHASH($_.ServerRecursion);
$ServerRecursion = "ServerRecursion:`r`n";
$ServerRecursion += "===============`r`n";
$ServerRecursion += HashToString2($ServerRecursionHash);
$ServerDiagnosticsHash = ConvertObjToHASH($_.ServerDiagnostics);
$ServerDiagnostics = "ServerDiagnostics:`r`n";
$ServerDiagnostics += "===============`r`n";
$ServerDiagnostics += HashToString2($ServerDiagnosticsHash);
$ServerGlobalNameZoneHash = ConvertObjToHASH($_.ServerGlobalNameZone);
$ServerGlobalNameZone = "ServerGlobalNameZone:`r`n";
$ServerGlobalNameZone += "===============`r`n";
$ServerGlobalNameZone += HashToString2($ServerGlobalNameZoneHash);
$ServerCacheHash = ConvertObjToHASH($_.ServerCache);
$ServerCache = "ServerCache:`r`n";
$ServerCache += "===============`r`n";
$ServerCache += HashToString2($ServerCacheHash);
$ServerGlobalQueryBlockListHash = ConvertObjToHASH($_.ServerGlobalQueryBlockList);
$ServerGlobalQueryBlockList = "ServerGlobalQueryBlockList:`r`n";
$ServerGlobalQueryBlockList += "===============`r`n";
$ServerGlobalQueryBlockList += HashToString2($ServerGlobalQueryBlockListHash);
$ServerEdnsHash = ConvertObjToHASH($_.ServerEdns);
$ServerEdns = "ServerEdns:`r`n";
$ServerEdns += "===============`r`n";
$ServerEdns += HashToString2($ServerEdnsHash);
$ServerForwarderHash = ConvertObjToHASH($_.ServerForwarder);
$ServerForwarder = "ServerForwarder:`r`n";
$ServerForwarder += "===============`r`n";
$ServerForwarder += HashToString2($ServerForwarderHash);
$ServerRootHintsTable +=ConvertArrayObjToStringTable($_.ServerRootHint)
$ServerRootHints = "ServerRootHint:`r`n";
$ServerRootHints +="===============`r`n";
$ServerRootHints +=$ServerRootHintsTable;
$ServerRRLHash = ConvertObjToHASH($_.ServerResponseRateLimiting);
$ServerResponseRateLimiting = "ServerResponseRateLimiting:`r`n";
$ServerResponseRateLimiting += "===============`r`n";
$ServerResponseRateLimiting += HashToString2($ServerRRLHash);
$ServerResponseRateLimitingExceptionlists +="ServerResponseRateLimitingExceptionlists:`r`n";
$ServerResponseRateLimitingExceptionlists +="===============`r`n";
$ServerResponseRateLimitingExceptionlists +="`r`n";
$ServerExceptionlistsArray = $_.ServerResponseRateLimitingExceptionlists;
$ExceptionlistArray = @()
foreach($ExceptionlistObj in $ServerExceptionlistsArray)
{
$ExceptionlistArray += $ExceptionlistObj
}
if($ExceptionlistArray -ne $null)
{
$ServerExceptionlistsTable =ConvertArrayObjToStringTable($ExceptionlistArray)
$ServerResponseRateLimitingExceptionlists +=$ServerExceptionlistsTable
}
$ServerZoneTable +=ConvertArrayObjToStringTable($_.ServerZone)
$ServerZone = "ServerZone:`r`n";
$ServerZone +="===============`r`n";
$ServerZone +=$ServerZoneTable;
$ServerZoneScope +="ZoneScopes:`r`n";
$ServerZoneScope +="===============`r`n";
$ServerZoneScope +="`r`n";
$ZoneScopeArray = $_.ServerZoneScope;
$ZoneName = "";
$ScopeArry = @()
foreach($ScopeObj in $ZoneScopeArray)
{
if($ZoneName -ne $ScopeObj.ZoneName)
{
if($ZoneName -ne "")
{
$ServerZoneScopeTable =ConvertArrayObjToStringTable($ScopeArry)
$ServerZoneScope +=$ServerZoneScopeTable
$ScopeArry = @()
}
$ZoneName = $ScopeObj.ZoneName
$ServerZoneScope +="ZoneName: "
$ServerZoneScope +=$ZoneName
$ServerZoneScope +="`r`n---------------------`r`n"
}
$ScopeArry += $ScopeObj
}
if($ScopeArry -ne $null)
{
$ServerZoneScopeTable =ConvertArrayObjToStringTable($ScopeArry)
$ServerZoneScope +=$ServerZoneScopeTable
}
$ServerRecursionScopeTable +=ConvertArrayObjToStringTable($_.ServerRecursionScopes)
$ServerRecursionScope = "RecursionScope:`r`n";
$ServerRecursionScope +="===============`r`n";
$ServerRecursionScope +=$ServerRecursionScopeTable;
$ClientSubnetTable +=ConvertArrayObjToStringTable($_.ServerClientSubnets)
$ServerClientSubnets = "ClientSubnet:`r`n";
$ServerClientSubnets +="===============`r`n";
$ServerClientSubnets +=$ClientSubnetTable;
$ServerPolicies +="Policies:`r`n";
$ServerPolicies +="===============`r`n";
$ServerPolicies +="`r`n";
$ServerPoliciesArray = $_.ServerPolicies;
$PolicyZoneName = $null;
$PolicyArray = @()
foreach($PolicyObj in $ServerPoliciesArray)
{
if($PolicyZoneName -ne $PolicyObj.ZoneName)
{
if($PolicyZoneName -ne $null)
{
$ServerPoliciesTable =ConvertArrayObjToStringTable($PolicyArray)
$ServerPolicies +=$ServerPoliciesTable
$PolicyArray = @()
}
if($PolicyObj.ZoneName -eq "")
{
$PolicyZoneName = ""
$ServerPolicies +="ServerPolicies"
}
else
{
$PolicyZoneName = $PolicyObj.ZoneName
$ServerPolicies +="ZoneName: "
$ServerPolicies +=$PolicyZoneName
}
$ServerPolicies +="`r`n---------------------`r`n"
}
$PolicyArray += $PolicyObj
}
if($PolicyArray -ne $null)
{
$ServerPoliciesTable =ConvertArrayObjToStringTable($PolicyArray)
$ServerPolicies +=$ServerPoliciesTable
}
$ServerZoneAgingTable +=ConvertArrayObjToStringList($_.ServerZoneAging)
$ServerZoneAging = "ServerZoneAging:`r`n";
$ServerZoneAging +="===============`r`n";
$ServerZoneAging +=$ServerZoneAgingTable;
$VirtualizationInstances +="VirtualizationInstance:`r`n";
$VirtualizationInstances +="======================`r`n";
$VirtualizedServerArray = $_.VirtualizedServer;
$VInstanceCount = 0;
$VirtualizedServerZone ="`r`n" + "`r`n";
$VirtualizedServerZone +="ZonesInVirtualizationInstance:`r`n";
$VirtualizedServerZone +="=============================`r`n";
$VirtualizedServerZone +="`r`n";
foreach($VServer in $VirtualizedServerArray)
{
if($VInstanceCount -eq 0)
{
$VirtualizationInstanceTable = ConvertArrayObjToStringTable($VServer.VirtualInstance);
}
else
{
$VirtualizationInstanceTable = ConvertArrayObjToStringTableWithNoHeaders($VServer.VirtualInstance);
}
$VirtualizationInstanceTable = $VirtualizationInstanceTable.Trimend("`r`n");
$VirtualizationInstances += $VirtualizationInstanceTable;
$VInstanceCount = $VInstanceCount + 1;
if($VServer.VirtualizedServerZone -ne $null)
{
$VInstanceName = $VServer.VirtualInstance.VirtualizationInstance;
$VirtualizedServerZone +="VirtualizationInstance: ";
$VirtualizedServerZone +=$VInstanceName;
$VirtualizedServerZone +="`r`n----------------------`r`n";
$VirtualizedServerZone += ConvertArrayObjToStringTable($VServer.VirtualizedServerZone);
}
}
$ServerSetting+
$ServerDsSetting+
$ServerScavenging+
$ServerRecursion+
$ServerDiagnostics+
$ServerGlobalNameZone+
$ServerCache+
$ServerGlobalQueryBlockList+
$ServerEdns+
$ServerForwarder+
$ServerRootHints+
$ServerResponseRateLimiting+
$ServerResponseRateLimitingExceptionlists+
$ServerZone+
$ServerZoneScope+
$ServerRecursionScope+
$ServerClientSubnets+
$ServerPolicies+
$ServerZoneAging+
$VirtualizationInstances+
$VirtualizedServerZone
DnsServerZoneDnsSecValidationResult_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerZoneDnsSecValidationResult
ZoneName
KeyId
SigningKeyPointerString
ValidationErrorCode
ValidationErrorCodeDescription
ExtendedErrorCode
ExtendedErrorCodeDescription
DnsServerZoneDnsSecValidationResult_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsServerZoneDnsSecValidationResult
35
38
ZoneName
KeyId
ValidationErrorCode
ExtendedErrorCode
DnsServerZoneDnsSecValidationResult_WideView
Microsoft.Management.Infrastructure.CimInstance#DnsServerZoneDnsSecValidationResult
$_.ZoneName
$_.ValidationErrorCode
DnsServerZoneStatistics_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsServerZoneStatistics
Function HashToString([HashTable]$obj, $key_width=55, $val_width=40)
{
$property_column = @{"Expression"="Name";"Label"="Parameter"; "Width"=$key_width; "Alignment"="left"}
$value_column = @{"Expression"="Value";"Label"="ParameterValue"; "Width"=$val_width; "Alignment"="left"}
if ($obj -ne $null) {
$str = $obj | Format-Table $property_column, $value_column -HideTableHeaders |Out-String
} else {
$str = "[EMPTY]"
}
return $str
}
function ConvertObjToHASH($Obj)
{
$hash = @{}
if ($null -ne $Obj ) {
foreach ($prop in $Obj.CimInstanceProperties) {
$name = $prop.Name
$value = $prop.Value
if($null -ne $value) {
$hash.add($name, $value)
}
}
}
return $hash
}
Function ConvertZoneStats($Obj)
{
$str = "[EMPTY]"
if ($null -ne $Obj ) {
$ObjHash = ConvertObjToHASH($Obj);
$str = HashToString($ObjHash);
}
return $str;
}
$zonestats = "Statistics for zone: ";
$zonestats += $_.Name;
$zonestats += "`r`n";
$zonestats += "======================================================================`r`n";
$time = "`r`nStatistics collection start time: ";
$time += $_.StatsCollectionStartTime;
$time += "`r`n================================`r`n";
$zonequery = "`r`nZone query statistics:`r`n";
$zonequery += "=====================`r`n";
$queryArray = $_.ZoneQueryStatistics;
foreach($queryObj in $queryArray)
{
$zonequery += ConvertZoneStats($queryObj);
}
$zonetransfer = "Zone transfer statistics:`r`n";
$zonetransfer += "========================`r`n";
$transferArray = $_.ZoneTransferStatistics;
foreach($transferObj in $transferArray)
{
$zonetransfer += ConvertZoneStats($transferObj);
}
$update = "Zone update statistics:`r`n";
$update += "======================`r`n";
$update += ConvertZoneStats($_.ZoneUpdateStatistics);
$RRL = "Zone RRL statistics:`r`n";
$RRL += "======================`r`n";
$RRL += ConvertZoneStats($_.ZoneRRLStatistics);
$zonestats+
$time+
$zonequery+
$zonetransfer+
$update+
$RRL
DnsZoneScope_TableView
Microsoft.Management.Infrastructure.CimInstance#DnsZoneScope
20
20
ZoneScope
FileName
DnsZoneScope_ListView
Microsoft.Management.Infrastructure.CimInstance#DnsZoneScope
ZoneScope
FileName
--