最近開始更新博客,廢話不多說,博客纔是硬道理。
九叔今天處理一個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 }
最後顯示效果如下,完成需求。