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
--