Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $MetricsToGather = @{
- ################## Active Directory ###################
- '\DirectoryServices(*)\Base searches/sec' = 'BaseSearchesSec'
- '\DirectoryServices(*)\Database adds/sec' = 'DatabaseAddsSec'
- '\DirectoryServices(*)\Database deletes/sec' = 'DatabaseDeletesSec'
- '\DirectoryServices(*)\Database modifys/sec' = 'DatabaseModifysSec'
- '\DirectoryServices(*)\Database recycles/sec' = 'DatabaseRecyclesSec'
- '\DirectoryServices(*)\Digest Binds/sec' = 'DigestBinds'
- '\DirectoryServices(*)\DRA Inbound Bytes Total/sec' = 'DRAInboundBytesTotalSec'
- '\DirectoryServices(*)\DRA Outbound Bytes Total/sec' = 'DRAOutboundBytesTotalSec'
- '\DirectoryServices(*)\DRA Pending Replication Operations' = 'DRAPendingReplicationOperations'
- '\DirectoryServices(*)\DRA Pending Replication Synchronizations' = 'DRAPendingReplicationSynchronizations'
- '\DirectoryServices(*)\DRA Sync Requests Made' = 'DRASyncRequestsMade'
- '\DirectoryServices(*)\DRA Sync Requests Successful' = 'DRASyncRequestsSuccessful'
- '\DirectoryServices(*)\LDAP Bind Time' = 'LDAPBindTime'
- '\DirectoryServices(*)\LDAP Client Sessions' = 'LDAPClientSessions'
- '\DirectoryServices(*)\LDAP Closed Connections/sec' = 'LDAPClosedConnectionsSec'
- '\DirectoryServices(*)\LDAP New Connections/sec' = 'LDAPNewConnections'
- '\DirectoryServices(*)\LDAP New SSL Connections/sec' = 'LDAPNewSSLConnectionsSec'
- '\DirectoryServices(*)\LDAP Searches/sec' = 'LDAPSearchesSec'
- '\DirectoryServices(*)\LDAP Writes/sec' = 'LDAPWritesSec'
- ########### Security System-Wide Statistics ###########
- '\Security System-Wide Statistics\NTLM Authentications' = 'NTLMAuthentications'
- '\Security System-Wide Statistics\Kerberos Authentications' = 'KerberosAuthentications'
- '\Security System-Wide Statistics\Digest Authentications' = 'DigestAuthentications'
- ################## Embedded Database ##################
- # '\Database(*)\Database Cache % Hit' = 'DatabaseCachePercentHit'
- # '\Database(*)\Database Page Fault Stalls/sec' = 'DatabaseCachePageFaultStallsSec'
- ######################### DNS #########################
- '\DNS\Dynamic Update Queued' = 'DynamicUpdateQueued'
- '\DNS\Dynamic Update Received' = 'DynamicUpdateReceived'
- '\DNS\Dynamic Update Received/sec' = 'DynamicUpdateReceivedSec'
- '\DNS\Dynamic Update Rejected' = 'DynamicUpdateRejected'
- '\DNS\Dynamic Update TimeOuts' = 'DynamicUpdateTimeOuts'
- '\DNS\Recursive Queries' = 'RecursiveQueries'
- '\DNS\Recursive Queries/sec' = 'RecursiveQueriesSec'
- '\DNS\Recursive Query Failure' = 'RecursiveQueryFailure'
- '\DNS\Recursive Query Failure/sec' = 'RecursiveQueryFailureSec'
- '\DNS\Recursive Send TimeOuts' = 'RecursiveSendTimeOuts'
- '\DNS\Recursive TimeOut/sec' = 'RecursiveTimeOutSec'
- '\DNS\Secure Update Failure' = 'SecureUpdateFailure'
- '\DNS\Secure Update Received' = 'SecureUpdateReceived'
- '\DNS\Secure Update Received/sec' = 'SecureUpdateReceivedSec'
- '\DNS\TCP Query Received' = 'TCPQueryReceived'
- '\DNS\TCP Query Received/sec' = 'TCPQueryReceivedSec'
- '\DNS\TCP Response Sent' = 'TCPResponseSent'
- '\DNS\TCP Response Sent/sec' = 'TCPResponseSentSec'
- '\DNS\Total Query Received' = 'TotalQueryReceived'
- '\DNS\Total Query Received/sec' = 'TotalQueryReceivedSec'
- '\DNS\Total Response Sent' = 'TotalResponseSent'
- '\DNS\Total Response Sent/sec' = 'TotalResponseSentSec'
- '\DNS\UDP Message Memory' = 'UDPMessageMemory'
- '\DNS\UDP Query Received' = 'UDPQueryReceived'
- '\DNS\UDP Query Received/sec' = 'UDPQueryReceivedSec'
- '\DNS\UDP Response Sent' = 'UDPResponseSent'
- '\DNS\UDP Response Sent/sec' = 'UDPResponseSentSec'
- }
- $Counters = Get-Counter ([string[]]$MetricsToGather.Keys)
- $Metrics = $Counters.CounterSamples |
- ForEach-Object -Begin {
- $m = @{}
- } -Process {
- $KeyName = $_.Path
- $KeyNameWithoutMachine = $_.Path -replace '^\\\\[^\\]+' # strip \\MachineName from the beginning
- $KeyNameWithAllInstances = $KeyNameWithoutMachine -replace "\($($_.InstanceName)\)","(*)"
- $MetricName = $Metrics[$KeyName,$KeyNameWithoutMachine,$KeyNameWithAllInstances] | Select-Object -First 1
- $m[$MetricName] = $_.CookedValue
- } -End {
- $m
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement