Risolto (anche con l'escape del single quote).
# da inserire in testa, nella sezione definizione variabili
$70persistentnetrules="/etc/udev/rules.d/70-persistent-net.rules"
# da valorizzare poco prima di inviare il comando alla VM con
$stringa_da_eseguire = "$stringa_da_eseguire if [ -e `'$70persistentnetrules`' ]; then "
$stringa_da_eseguire = "$stringa_da_eseguire mv `'$70persistentnetrules`' `'$70persistentnetrules`'_old; "
$stringa_da_eseguire = "$stringa_da_eseguire fi"
Get-VM $vmname | Invoke-VMScript -ScriptText "$stringa_da_eseguire" -GuestCredential $credential
Original Message:
Sent: May 28, 2024 09:16 AM
From: fabfisc
Subject: Ciclare sui MAC Address delle interfacce di rete di una VM
Si, ho già previsto la cancellazione del file 70-persistent-net.rules
tramite Invoke-Script, file che al riavvio dell'OS genererà una nuova riga
col nuovo MAC e la nuova interfaccia (che riparte dall'eth0 se ne esiste
già una con altro nome, ES. ifcfc-pubblica).
Sto cercando di automatizzare la cosa.
Original Message:
Sent: 5/28/2024 3:04:00 AM
From: a.tinivelli
Subject: RE: Ciclare sui MAC Address delle interfacce di rete di una VM
se non ricordo male basterebbe cancellare quel file 70-etcetc etc perché il sistema operativo lo ricrei col mac address corretto
------------------------------
Alessandro Tinivelli | blog.tinivelli.com | www.revobyte.it | VMCE 2024 | Veeam Legend | VCP-DCV 2023 | VVSPHT 2023 | vExpert 2024
Original Message:
Sent: May 28, 2024 01:32 AM
From: fabfisc
Subject: Ciclare sui MAC Address delle interfacce di rete di una VM
Buongiorno a tutti,
in realtà ho già posto la questione in inglese, e se mi è concesso chiedo anche a voi qui.
Avrei la necessità di elencare i MAC Address di ciascuna NIC di una VM per identificarne il corrispondente NAME all'interno del 70-persistent-net.rules (lato Linux) e modificare opportunamente il device nel file di configurazione ifcfg-eth*.
Questo perché, se copio manualmente i file di una VM per ricavarne un'altra per test, avrò due MAC identici e il vCenter ne genera uno nuovo.
Poi Red Hat mi assegna una nuova interfaccia per il nuovo MAC e io dovrei fare questo giochetto manualmente per diverse macchine.
Un loop potrebbe essere:
Foreach-Object {
Get-VM "VM_NAME" | %{Get-NetworkAdapter -VM $_ | Select MacAddress}
}
Mi sapreste dare una mano?