get-vm - 未被识别为 cmdlet 的名称

get-vm - 未被识别为 cmdlet 的名称

我们正在尝试编写一个 powershell 脚本来启动/停止我们的 vm,但该get-vm命令不起作用。错误消息是

get-vm: the term 'get-vm' is not recognized as the name of a cmdlet, function, script file, or operable program.

代码如下:

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

我们安装了 powershell 更新以获取版本 3,但它仍然不起作用,但错误消息略有改变,变为我上面列出的那个。

我看到了这个链接:http://social.technet.microsoft.com/Forums/windowsserver/en-US/07decd82-270e-4dd0-b8e8-789d693099dd/powershell-getvm-error?forum=winserverpowershell

hyperV现在已经安装完毕,当我输入以下内容时就会显示:

Get-Module  -listavailable

在我的代码开始时我有:

if(!Get-Module -Name HyperV)){import-module Hyperv}

还有这个:

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

Get-Host 也可以

我们尝试了

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

但它也没有被识别为 cmdlet 的名称等等。

我尝试通过此链接 pshyperv.codeplex.com/discussions/359174 禁用 UAC,但没有成功。此链接显示了我使用的命令: http://www.ehloworld.com/1026

当我输入:

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

它给出了错误消息Set-UACStatus wasn't recognized as the name of a cmdlet,等等。它也无法识别 Get-UACStatus。

我不确定是否需要导入其他东西才能使用 Get-VM?

答案1

我找到了答案。我需要以管理员身份运行 powershell,然后 get-VM 返回虚拟机列表。我找到了答案微软技术网

相关内容