Aşağıdaki SQL sunucu sayaçlarını yakalamak için bir powershell komut dosyası yazıyorum:
SQL Server: Bellek Yöneticisi: Toplam Sunucu Belleği (KB)
SQL Server: Bellek Yöneticisi: Hedef Sunucu Belleği (KB)
Makinemin SQL sunucularının 3 örneği var, bu yüzden bu komut dosyasının tüm sayaçları dinamik olarak yakalamasını ve yalnızca 1 örnek için değeri rapor etmesini istiyorum. aşağıdakileri yazmayı denedim:
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
sonunda bu -computername
parametre ile birden çok sunucu üzerinde çalıştırmak istiyorum ve bu nedenle dinamik olarak yakalamak istiyorum.
Biri eksik olanı bulmamda bana yardımcı olabilir mi? Çalıştırdığım tam komut dosyası aşağıdadır:
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)
}
şimdiden teşekkürler