最近开始更新博客,废话不多说,博客才是硬道理。
九叔今天处理一个Hyper-V的需求,用户需要在Hyper-V管理面板显示虚拟机名称,同时还需要带上Hyper-V虚拟机的IP地址。
如果这个需求挨个登录虚拟机,然后一个一个修改,是绝对没有问题的,但是方法太LOW
用Hyper-V的原生命令可以解决。使用Get-VMNetworkAdapter来完成。这里用invoke或者get-vm都可以在远程的Hyper-V主机上执行命令,可以根据需要进行选择。
以下代码部分
1
2
3
4
5
6
7
|
$vmnames
=
invoke-command
-computername 此处写Hyper-V主机名 -command { (
Get-VM
* | ?{
$_
.name
-like
"*wweb*"
}).name }
$vmnames
| %{
$x
=
Get-VM
-ComputerName 此处写Hyper-V主机名 -Name
$_
$ip
= (
$x
|
Get-VMNetworkAdapter
).ipaddresses
$nname
=
$x
.name +
'-'
+
$ip
#此处是新的计算机名也就是带带上了IP地址的形式
Rename-VM
-ComputerName 此处写Hyper-V主机名 -Name
$_
-NewName
$nname
}
|
最后显示效果如下,完成需求。
本文转自 九叔 51CTO博客,原文链接:http://blog.51cto.com/jiushu/1862648,如需转载请自行联系原作者