微软云计算随笔1-批量为虚拟机添加IP地址描述

最近开始更新博客,废话不多说,博客才是硬道理。

今天处理一个Hyper-V的需求,用户需要在Hyper-V管理面板显示虚拟机名称,同时还需要带上Hyper-V虚拟机的IP地址。

如果这个需求挨个登录虚拟机,然后一个一个修改,是绝对没有问题的,但是方法太LOW

Hyper-V的原生命令可以解决。使用Get-VMNetworkAdapter来完成。这里用invoke或者get-vm都可以在远程的Hyper-V主机上执行命令,可以根据需要进行选择。

以下是代码部分

 

$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
}

最后显示效果如下,完成需求。