Привет всем.
Маленький life-hack-скрипт, позволяющий средствами VMM PSH обнаружить имена машин, которые вызывают ошибку с дублируемыми IPv4 адресами.
Сценария два:
ПРИМЕЧАНИЕ! Требуется наличие VirtualMachineManager CMDLets
Маленький life-hack-скрипт, позволяющий средствами VMM PSH обнаружить имена машин, которые вызывают ошибку с дублируемыми IPv4 адресами.
- пингуем дублирующий узел по IPv4, смотрим arp -a, забираем МАС и подставляем на ввод скрипта;
- задаём MAC в виде шаблона, к примеру *00:50:56* (такая команда выдаст все машины с MAC адресами, содержащими паттерн);
ПРИМЕЧАНИЕ! Требуется наличие VirtualMachineManager CMDLets
Import-Module virtualmachinemanager
Write-Host "Script will help you in two ways: "
Write-Host " - Identify VM name by MAC address to resolve duplicated IPv4 collision"
Write-Host " (You need to ping the remote server you are looking for by IP and found his MAC with arp -a first)"
Write-Host " - Identify VM name by MAC address to resolve if some Virtual machines have same MAC"
Write-Host "Enter MAC ID with double dot delimiter (Template:*00:50:56*)" -ForegroundColor Yellow
Write-Host "------------------------------------------------------------" -ForegroundColor Yellow
$MACID = Read-Host
Write-host " "
Write-Host "Searching for MAC: " $MACID -Foreground Green
Write-Host "------------------------------------------------------------" -ForegroundColor Yellow
Sleep 2
$VMArray = Get-SCVirtualMachine -All
FOREACH ($VMsname IN $VMArray)
{
$VMsname = $VMsname.Name
$NetADArray = Get-SCVirtualMachine $VMsName | Get-VirtualNetworkAdapter | Where-Object {$_.EthernetAddress -like $MACID}
IF ($NetADArray -ne $Null)
{
Write-host " "
Write-Host "MAC Detected" -Foreground Red
Write-host "VM Name is: " $VMsname -Foreground Yellow
Write-Host "VM network adapter name is: " $NetADArray.Name -Foreground Yellow
Write-Host "MAC is: " $NetADArray.EthernetAddress -Foreground Yellow
Write-host " "
}
ELSE
{
}
}
Write-host "done..." -Foreground Green