Get-VM对Hyper-V没有任何作用

时间:2014-02-07 13:43:37

标签: windows-server-2008-r2 powershell-v3.0 hyper-v

我们的服务器上有Windows 2008 R2。我们正在尝试编写PowerShell脚本来启动/停止我们的VM,但是get-vm命令不起作用。没有错误消息。该命令不会返回任何内容,但应该是。

代码如下所示:

$temp = Get-VM -Server usa..... | where-object {$_.State -eq 'Running'}

我们尝试过做

$temp = Get-VM -name VM-VMNameAsSeenInHyperVMgr

并且它也没有返回任何内容。

我们安装了PowerShell的更新以获取版本3并使get-vm命令工作(不提供错误消息),但它仍然没有返回任何虚拟机。

我看到论坛帖子 PowerShell "Get-VM" error

但是现在安装了Hyper-V,当我在PowerShell命令行输入

时显示
Get-Module  -listavailable

在我的代码开头我有

import-module Hyperv

还有这个:

[system.net.dns]::GetHostEntry(ip)

有效,Get-Host也是如此。

我们试过了

Enable-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V -All

但该命令未被识别为cmdlet的名称。

我尝试像这个链接禁用UAC,但它没有用。此链接显示我使用的命令:http://www.ehloworld.com/1026

当我输入

Set-UACStatus -Computer usa...net -Enabled [$false]

它给出了错误消息,即Set-UACStatus也未被识别为cmdlet的名称等。它也不承认Get-UACStatus。

我不确定是否还需要导入其他东西才能使用Get-VM。或者我的同事在想,也许我们正在遇到未知的AD问题。我认为如果它是Active Directory,它会给出一条关于没有权限做某事的错误信息,但事实并非如此。

1 个答案:

答案 0 :(得分:16)

我明白了。

我需要以管理员身份运行PowerShell,然后Get-VM返回虚拟机列表。我在论坛帖子 Get-VM doesn't work 中找到了答案。