2016-08-26 10 views
0

Я также пытаюсь получить использование памяти с помощью сценария, упомянутых ниже (Опубликовано в этом 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 препятствовать мне знать что я должен исправить?

ответ

1

У вас были некоторые неуместные squiggelies. Heres фиксированный код:

$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 
} 
+0

все еще получаю ту же ошибку - Ключ Label1 не является действительным. + CategoryInfo: InvalidArgument: (:) [Select-Object], NotSupportedException + FullyQualifiedErrorId: DictionaryKeyIllegal, Microsoft.PowerShell.Commands.SelectObjectCommand + PsComputerName: Сервер1 –

+0

Измененный Label1 к ярлыку и работал отлично. Спасибо restless1987 ... –

 Смежные вопросы

  • Нет связанных вопросов^_^