获取虚拟机在Hyper-V上没有反应的问题

12
我们的服务器上运行着Windows 2008 R2操作系统。我们试图编写一个PowerShell脚本来启动/停止虚拟机,但是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”错误

但是Hyper-V已经安装并在PowerShell命令行输入时显示出来。

Get-Module  -listavailable

在我的代码开头,我有

import-module Hyperv

还有这个:

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

Get-Host可以正常工作,同样适用于works

我们尝试过。

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个回答

18

我解决了问题。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接