मैं निम्नलिखित SQL सर्वर काउंटर पर कब्जा करने के लिए एक पॉवरशेल स्क्रिप्ट लिख रहा हूं:
SQL सर्वर: मेमोरी मैनेजर: कुल सर्वर मेमोरी (KB)
SQL सर्वर: मेमोरी मैनेजर: लक्ष्य सर्वर मेमोरी (KB)
मेरी मशीन में SQL सर्वर के 3 उदाहरण हैं, इसलिए मैं चाहता हूं कि यह स्क्रिप्ट सभी काउंटरों को गतिशील रूप से कैप्चर करे और केवल 1 नमूने के लिए रिपोर्ट करें। मैंने निम्नलिखित लिखने की कोशिश की:
Get-counter -List *SQL*Memory* | Select paths, counter | format-list # doesn't display full list
Get-counter -List *SQL*Memory* | Select paths, counter | where {_.counter -like "*server memory*"} |format-list # displays nothing
अंततः मैं इसे कई सर्वरों पर -computername
पैरामीटर के साथ चलाना चाहता हूं और इसलिए मैं चाहता हूं कि यह गतिशील रूप से कब्जा करे।
क्या कोई मुझे याद रखने में मदद कर सकता है? निम्नलिखित सटीक स्क्रिप्ट है जो मैं चला रहा हूं:
Function checkTransactionsPerSecond([string] $Hostname )
{
(Get-Counter -ListSet "*Databases").Counter | Where {$_ -like "*\Transactions/sec"} #this returns nothing
# $listofmetrics = (Get-Counter -ListSet "*Databases").Counter | Where {$_ -like "*\Transactions/sec"}
# $listofmetrics | Get-Counter
}
clear
foreach ($Hostname in Get-Content "D:\TEMP\machines.txt")
{
Write-Host $Hostname
checkTransactionsPerSecond($Hostname)
}
अग्रिम में धन्यवाद