Powershell Menu AHV Maintenance Mode

P

Voici le script que j’utilise en ce moment pour les mises en maintenance des hôtes AHV des clusters Nutanix avec un menu à choix multiples :

[powershell]

Disconnect-NTNXCluster *

#Choisir le cluster
$ClusterNut = Read-Host "Entrer the Ip or DNS name of your Nutanix Cluster to manage"

Connect-NTNXCluster $ClusterNut -AcceptInvalidSSLCerts -ForcedConnection
$Clusterlist = $null

for () {

# récupère la liste des noms d’hôtes du cluster
$Clusterlist = Get-NTNXHost

#défini integer à 0
$i=0

$ClusterName = (Get-NTNXCluster).name

Write-Host "Vous avez selectionné le cluster $($(Get-NTNXCluster).name)
"

# Créer un menu : Pour chaque hôte du cluster ajouter 1 à i et afficher le nom d’hôte associé
write-host "0 : Sortir du script"
foreach ($ht in $Clusterlist) {
$i++
Write-Host "$i : $($ht.Name) : état $($ht.hypervisorState) : Hyperviseur $($ht.hypervisorAddress) : IPMI $($ht.ipmiAddress) "
}

do {
$Menu = Read-Host "Choisir le numéro d’hôte"
#juste affichage : tant que le chiffre indiqué n’est pas un nombre d’un hôte possible on boucle ici
if (0..$Clusterlist.Count -notcontains $Menu) {Write-Host "Merci d’indiquer le numéro correspond au noeud à mettre en maintenance" -ForegroundColor Red}
}

#tant que le chiffre indiqué n’est pas un nombre d’un hôte possible on boucle ici
while (0..$Clusterlist.Count -notcontains $Menu)

#Conserve le nom de l’hôte dans la variable ChoiceMenu le -1 sert car le count debute à 0.
if ($menu -eq 0) {
#Déco
Disconnect-NTNXCluster *
exit
}
$ChoiceMenu = ($Clusterlist).name[$menu-1]
write-host "Vous avez choisi le $ChoiceMenu"

Write-Host -ForegroundColor Green "Choisir l’option 1 pour Mettre en Maintenance et l’option 2 pour remettre en ligne"
$Menu1 = Read-Host

if ($Menu1 -eq 1) {
$uuid = (Get-NTNXHost | where {$_.name -like $ChoiceMenu}).uuid

write-host "La tache de mise en maintenance de l’hôte $ChoiceMenu est en cours"
Start-NTNXMaintenanceMode -Hostid $uuid -EvacuationOption LIVE_MIGRATE
sleep 3

}

if ($Menu1 -eq 2) {
write-host "La tache remise en prod de l’hôte $ChoiceMenu est en cours"
Stop-NTNXMaintenanceMode -Hostid $uuid
sleep 3
}

}

[/powershell]

About the author

By mgioia

Articles récents

Commentaires récents