Tôi đang viết một tập lệnh powershell để ghi lại các bộ đếm máy chủ SQL sau:
SQL Server: Trình quản lý bộ nhớ: Tổng bộ nhớ máy chủ (KB)
SQL Server: Trình quản lý bộ nhớ: Bộ nhớ máy chủ mục tiêu (KB)
Máy của tôi có 3 phiên bản máy chủ SQL, vì vậy tôi muốn tập lệnh này tự động nắm bắt tất cả các bộ đếm và chỉ báo cáo giá trị cho 1 mẫu. tôi đã thử viết như sau:
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
cuối cùng tôi muốn chạy cái này trên nhiều máy chủ với -computername
tham số và do đó tôi muốn nó tự động nắm bắt.
Bất cứ ai có thể xin vui lòng giúp tôi trong việc tìm kiếm những gì còn thiếu? Sau đây là kịch bản chính xác mà tôi đang chạy:
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)
}
cảm ơn trước