Guest User

Untitled

a guest
Jun 12th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.26 KB | None | 0 0
  1. from pysphere import VIServer
  2. import dns.query
  3. import dns.zone
  4. import dns.rdatatype
  5. import re
  6.  
  7.  
  8. username = 'root'
  9. password = 'poot'
  10. domain = 'poot.poot'
  11. nameserver = '192.168.10.16'
  12. wikipage = '/var/moinmoin/citylink/data/pages/EsxHosts/revisions/00000001'
  13.  
  14.  
  15. zone_data= dns.zone.from_xfr(dns.query.xfr(nameserver, domain))
  16.  
  17. servers = []
  18. for (name, rdataset) in zone_data.iterate_rdatasets(dns.rdatatype.A):
  19.     if re.search("vm", name.to_text()):
  20.         servers.append(name.to_text() + "." + domain)
  21.  
  22. esx = {}
  23.  
  24. for host in servers:
  25.     esx[host] = {}
  26.     server = VIServer()
  27.     server.connect(host, "root", "poot")                                                                                                          
  28.     vmlist = server.get_registered_vms()
  29.     esx[host]['version'] = server.get_api_version()
  30.     esx[host]['vms'] = []
  31.     for vm in vmlist:
  32.         esx[host]['vms'].append(vm.split('/')[0].split(' ')[1])
  33.     server.disconnect()
  34.  
  35. esxPage = open(wikipage,'w')
  36.  
  37. for host in esx.keys():
  38.     esxPage.write('== %s ==\n\n' % host)
  39.     esxPage.write('=== Version: %s ===\n\n' % esx[host]['version'])
  40.     esxPage.write('=== VMs: ===\n\n')
  41.     for client in esx[host]['vms']:
  42.         esxPage.write(' * %s\n\n' % client)
  43.  
  44. esxPage.close()
Add Comment
Please, Sign In to add comment