当我尝试在以管理员身份运行的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上运行它的任何想法吗?
由于
答案 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仍允许您使用-Computername指定本地计算机名,但显然不是Get-Counter。另一方面,性能监控的最佳实践是远程执行。
Get-Counter -computername (get-content computers.txt) '\Memory\Available MBytes'