一个用PowerShell寻找Hyper-V虚拟机的例子

微软Hyper-V虚拟化技术到了R2版本已经可以在企业里玩玩了。配合SCVMM,管理虚拟机也变得轻松起来。不过,我可不想只依赖一种方式,就也看了一下PowerShell在这方面的表现。也很强大。

以下的示例是个很常用的功能:我知道虚拟机的名称,想找一下它当前跑在哪台物理机上。

环境介绍:一组16节点群集的Hyper-V(R2)虚拟机池,命名规则为Host01,Host02 ... Host16。

准备工作:让Hyper-V具备PowerShell支持 http://pshyperv.codeplex.com/

安装过程中可能会报错,不知道你是不是会介意,反正我是淡定的无视了。

思路:我还没找到直接的命令可以完成搜索的功能,所以决定傻做,从每台服务器上检索,反正物理服务器是有规律的。用到的命令是:

get-vm -server 物理服务器名

从获取的所有虚拟机里再过滤出符合条件的。

以下是PowerShell代码(假设我要找一台叫v-db-ssd的虚拟服务器):

$vpc = "v-db-ssd" # The virtual server to be searched
$vms = for ($i=1;$i -lt 17 ;$i++){$tmp = "0$i";$serverID = $tmp.SubString($tmp.Length-2,2);get-vm -server "Host$serverID"}
$vms|where {$_.VMElementName -eq $vpc}

运行时,必须导入PSHyperV的模块,具体就是:start %windir%\System32\WindowsPowerShell\v1.0\powershell.exe -noExit -Command "Import-Module '%ProgramFiles%\modules\hyperV' "(其实这句话就是抄来的,在它安装文件的最后一行。)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ki1381

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值