我正在编写一个powershell脚本来捕获以下SQL Server计数器:
SQL Server:内存管理器:服务器总内存(KB)
SQL Server:内存管理器:目标服务器内存(KB)
我的机器有3个SQL Server实例,所以我希望此脚本动态捕获所有计数器并仅报告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)
}
提前致谢