【发布时间】:2014-02-07 13:43:37
【问题描述】:
我们的服务器上有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 命令工作(不提供错误消息),但它仍然没有返回任何 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。或者我的同事在想,也许我们遇到了未知的广告问题。我认为如果它是 Active Directory,它会给出一条错误消息,提示您没有权限做某事,但事实并非如此。
【问题讨论】:
标签: windows-server-2008-r2 powershell-3.0 hyper-v