Get-Counter-shell -ComputerName параметр в Windows 7 - PullRequest
2 голосов
/ 18 февраля 2012

Когда я пытаюсь использовать командлет Get-Counter в Windows 7, работающий от имени администратора, я получаю следующую ошибку:

Get-Counter -computername "$env:ComputerName" '\Memory\Available MBytes'

Get-Counter : Unable to connect to the specified computer or the computer is of
fline.
At line:1 char:12
+ Get-Counter <<<<  -computername "$env:ComputerName" '\Memory\Available MBytes
'
    + CategoryInfo          : InvalidResult: (:) [Get-Counter], Exception
    + FullyQualifiedErrorId : CounterApiError,Microsoft.PowerShell.Commands.Ge
   tCounterCommand

Эта же команда работает, когда я пробую ее на XP 64 как есть, а также наWindows 7, когда я исключаю параметр -computername.

Есть идеи, как заставить это работать в Windows 7 с параметром computername?

Спасибо

Ответы [ 3 ]

4 голосов
/ 18 февраля 2012

Вы можете опустить параметр -computername и проложить счетчики напрямую:

 get-counter "\\$env:computername\Memory\Available MBytes"

и это похоже на работу.

1 голос
/ 18 февраля 2012

Так как Set-Counter не работает с -ComputerName $env:COMPUTERNAME, добавьте в свою функцию некоторую логику, которая делает что-то похожее на это:

function Get-ServerCounter {
    param ($Server)

    if ($env:COMPUTERNAME -eq $Server) {
        Get-Counter -Counter '\Memory\Available MBytes'        
    } else {
        Get-Counter -computername $Server -Counter '\Memory\Available MBytes'
    }
}
0 голосов
/ 18 февраля 2012

Это если не повезло. Многие другие командлеты по-прежнему позволяют указывать локальное имя_компьютера с -Computername, но, очевидно, не Get-Counter. С другой стороны, лучшая практика для мониторинга производительности в любом случае - делать это удаленно.

Get-Counter -computername (get-content computers.txt) '\Memory\Available MBytes'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...