Bonjour,
J'espère tout d'abord être dans la bonne sous-catégorie du forum. Je suis un novice en powershell et je suis en train de réaliser un script, permettant de parcourir un fichier texte contenant des noms de VM et supprimer les VMs listée.
Simplement, je souhaiterais que le script me fasse les retour suivant:
- si la VM existe ou pas (erreur de nom)
- quand la VM a été supprimée
Voici mon code assez basique. Et je n'arrive pas à faire le test de si la VM existe ou pas...
J'ai l'impression que ma boucle if est mal placée ou est mal construite. Peut être que la variable $content ne récupère pas les bonnes infos... Enfin bref je ne vois plus...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 #Connection au vcenter connect-viserver $vCenter #Variables $content = Get-Content D:\Sources\Scripts\delvm.txt $vms = Get-VM -Name $content -ErrorAction SilentlyContinue $Result = @() $date = get-date #Logique ForEach ($vm in $vms){ if ($vm -ne $null){ $vmdel = "" | Select-Object VM, Deleted, Description $vmdel.VM = $vm.name $vmdel.Deleted = $date $vmdel.Description = "VM supprimée" # Remove-VM $vms -DeletePermanently -Confirm:$false } Else{ $vmdel = "" | Select-Object VM, Deleted, Description $vmdel.VM = "" $vmdel.Deleted = "n/a" $vmdel.Description = "La VM n'existe pas" } $Result+=$vmdel }
Si quelqu'un de doué peut m'aider.
Merci d'avance.![]()
Partager