Estoy escribiendo un script de PowerShell para capturar los siguientes contadores del servidor SQL:
SQL Server: Administrador de memoria: Memoria total del servidor (KB)
SQL Server: Administrador de memoria: Memoria del servidor de destino (KB)
Mi máquina tiene 3 instancias de servidores SQL, por lo que quiero que este script capture todos los contadores dinámicamente e informe el valor solo para 1 muestra. Traté de escribir lo siguiente:
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
Finalmente, quiero ejecutar esto en varios servidores con -computername
parámetros y, por lo tanto, quiero que capture de forma dinámica.
¿Alguien puede ayudarme a encontrar lo que falta? El siguiente es el script exacto que estoy ejecutando:
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)
}
gracias por adelantado