Ich schreibe ein Powershell-Skript, um die folgenden SQL Server-Zähler zu erfassen:
SQL Server: Speichermanager: Gesamter Serverspeicher (KB)
SQL Server: Speichermanager: Zielserverspeicher (KB)
Mein Computer verfügt über 3 Instanzen von SQL-Servern. Daher möchte ich, dass dieses Skript alle Zähler dynamisch erfasst und den Wert nur für 1 Beispiel meldet. Ich habe versucht, Folgendes zu schreiben:
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
Schließlich möchte ich dies auf mehreren Servern mit -computername
Parametern ausführen und daher möchte ich, dass es dynamisch erfasst wird.
Kann mir bitte jemand helfen, herauszufinden, was fehlt? Das folgende Skript wird genau ausgeführt:
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)
}
Danke im Voraus