Я также пытаюсь получить использование памяти с помощью сценария, упомянутых ниже (Опубликовано в этом link -CPU Usage Script
$Output = 'C:\temp\Result.txt'
$ServerList = Get-Content 'C:\temp\Serverlist.txt'
$ScriptBLock = {
$CPUPercent = @{
Label = 'CPUUsed'
Expression = {
$SecsUsed = (New-Timespan -Start $_.StartTime).TotalSeconds
[Math]::Round($_.CPU * 10/$SecsUsed)
$MemUsage = @{
Label1 ='RAM(MB)'
Expression = {$_.WS/1MB}
}
}
}
Get-Process | Select-Object -Property Name, CPU, $CPUPercent, $MemUsage,
Description |
Sort-Object -Property CPUUsed -Descending |
Select-Object -First 15 | Format-Table -AutoSize
}
foreach ($ServerNames in $ServerList) {
Invoke-Command -ScriptBlock $ScriptBLock -ComputerName $ServerNames |
Out-File $Output -Append
}
Я получаю ошибку
Значение параметра является недействительным, один из ожидали следующие типы: {System.String, System.Management.Automation.ScriptBlock}. + CategoryInfo: InvalidArgument: (:) [Select-Object], NotSupportedException + FullyQualifiedErrorId: DictionaryKeyUnknownType, Microsoft.PowerShell.Commands.SelectObjectCommand + PSComputerName: Server1
Можете вы pls препятствовать мне знать что я должен исправить?
все еще получаю ту же ошибку - Ключ Label1 не является действительным. + CategoryInfo: InvalidArgument: (:) [Select-Object], NotSupportedException + FullyQualifiedErrorId: DictionaryKeyIllegal, Microsoft.PowerShell.Commands.SelectObjectCommand + PsComputerName: Сервер1 –
Измененный Label1 к ярлыку и работал отлично. Спасибо restless1987 ... –