Windows 7上的powershell Get-Counter -ComputerName参数

时间:2012-02-17 22:20:47

标签: powershell powershell-v2.0

当我尝试在以管理员身份运行的Windows 7上使用Get-Counter cmdlet时,出现以下错误。

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参数时,同样的命令也能正常工作。

有关如何使用computername参数在Windows 7上运行它的任何想法吗?

由于

3 个答案:

答案 0 :(得分:4)

您可以省略-computername参数并直接路径计数器:

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

这似乎有效。

答案 1 :(得分:1)

由于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'
    }
}

答案 2 :(得分:0)

如果不幸的话。许多其他cmdlet仍允许您使用-Co​​mputername指定本地计算机名,但显然不是Get-Counter。另一方面,性能监控的最佳实践是远程执行。

Get-Counter -computername (get-content computers.txt) '\Memory\Available MBytes'