VMware

Yaml code posted
created at 02 Jun 01:28, updated at 02 Jun 13:08

Edit | Back
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
28
29
30
require 'rbvmomi'
require 'highline/import'
#Constition de la liste des VMs à partir du fichier vmlist
liste_vms = File.open("vmlist","r").readlines
liste_vms.map! { |vm| vm.chomp }
#Username et mot de passe
username = ask("Utilisateur:  ") { |q| q.echo = true }
password = ask("Mot de passe:  ") { |q| q.echo = "*" }

#Connexion à vCenter puis recherche du DataCenter
vim = RbVmomi::VIM.connect   host: '10.100.101.24', 
  user: "COS-NANTEAU\\administrateur",
  password: "poli%4g", 
  insecure: true

dc = vim.serviceInstance.find_datacenter("CRPF-DC") or fail " DataCenter Introuvable"
#Créé une liste des VMs qui existent  dans le datacenter à partir de la liste  
vms=liste_vms.select{|vmName| dc.find_vm(vmName)}
#Averti l'utilisateur pour les VMs qui n'existent pas.
(liste_vms-vms).each{|vmName| puts "#{Time.now} !EE! #{vmName} n'existe pas dans le Datacenter, elle sera ignoree"}

vms.each do |vmName|
  vm = dc.find_vm(vmName) 
  if vm.runtime.powerState == "poweredOn"
    vm.PowerOffVM_Task.wait_for_completion 
    puts "#{Time.now} *OK* #{vmName} Signal d'extinction"
  else 
    puts "#{Time.now} !EE! #{vmName} est deja OFF"
  end
end
1.15 KB in 3 ms with coderay