VMware Powershell CLI Scripts
Hallo @ll,
ich suche recht dringend nach einem Powershell CLI Scripts, die folgendes machen:
Scritpt 1: Liest von mehreren ESX Hosts auf VMs vorhandene Snapshots mit allen wichtigen Infos (Datum der Erstellung, Ersteller, Größe),
erstellt am Ende ein Report als HTML und sendet es gleich per E-Mail.
Script 2: Auslesen der aktuelle Auslastung der Hosts und Zusenden per E-Mail als HTML Report
Es wäre super, wenn jemand bereits solche Scrips hat und mir die Links dazu oder Code zusenden könnte. Da ich nicht so tief in PowerShell CLI drin bin, wäre es super, wenn ich nur am Scripts Username, Hosts und Password ändern muss und sonst nix.
Vielen Dank.
P.S:
in diesem Script (https://communities.vmware.com/docs/DOC-6980) sind schon alle Infos zum Script 1 vorhanden, jedoch bekomme ich alle Ergebnisse doppelt ausgegeben, bzw. wenn ich anstatt ESX Hosts - nur VCenter Server angebe, wird das angebenes PW von meinem VCenter Server nicht akzeptiert (root) und extra in neuem Fenster abgefragt. Was ist da falsch???
ich suche recht dringend nach einem Powershell CLI Scripts, die folgendes machen:
Scritpt 1: Liest von mehreren ESX Hosts auf VMs vorhandene Snapshots mit allen wichtigen Infos (Datum der Erstellung, Ersteller, Größe),
erstellt am Ende ein Report als HTML und sendet es gleich per E-Mail.
Script 2: Auslesen der aktuelle Auslastung der Hosts und Zusenden per E-Mail als HTML Report
Es wäre super, wenn jemand bereits solche Scrips hat und mir die Links dazu oder Code zusenden könnte. Da ich nicht so tief in PowerShell CLI drin bin, wäre es super, wenn ich nur am Scripts Username, Hosts und Password ändern muss und sonst nix.
Vielen Dank.
P.S:
in diesem Script (https://communities.vmware.com/docs/DOC-6980) sind schon alle Infos zum Script 1 vorhanden, jedoch bekomme ich alle Ergebnisse doppelt ausgegeben, bzw. wenn ich anstatt ESX Hosts - nur VCenter Server angebe, wird das angebenes PW von meinem VCenter Server nicht akzeptiert (root) und extra in neuem Fenster abgefragt. Was ist da falsch???
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 346181
Url: https://administrator.de/contentid/346181
Ausgedruckt am: 24.11.2024 um 11:11 Uhr
15 Kommentare
Neuester Kommentar
Hi
welche Version des vCenters setzt du denn ein? In den aktuelleren Versionen reicht der Anmeldename "root" nicht mehr aus, im Regelfall muss da ein FQDN hinter, z.B. "root@vsphere.local" - hängt aber auch davon wie der Installiert wurde und was dort als VMWare Domäne eingetragen wurde.
Für den 2. Report würde ich evtl. die kostenlose Version von PRTG nehmen, die Anzahl der freien Sensoren sollte ausreichen und dort sind fertige Reports enthalten und da hast dann damit auch eine längere und kontinurliche Sicht auf die Auslastung der Hosts.
Gruß
@clSchak
welche Version des vCenters setzt du denn ein? In den aktuelleren Versionen reicht der Anmeldename "root" nicht mehr aus, im Regelfall muss da ein FQDN hinter, z.B. "root@vsphere.local" - hängt aber auch davon wie der Installiert wurde und was dort als VMWare Domäne eingetragen wurde.
Für den 2. Report würde ich evtl. die kostenlose Version von PRTG nehmen, die Anzahl der freien Sensoren sollte ausreichen und dort sind fertige Reports enthalten und da hast dann damit auch eine längere und kontinurliche Sicht auf die Auslastung der Hosts.
Gruß
@clSchak
Mit PRTG kannst das direkt einstellen, das macht das alles auch automatisch, damit kannst dann auch einstellen, das eine Mail versand wird wenn ein Fehler Auftritt oder die Auslastung dauerhaft zu hoch ist.
Normal Monitoring halt, nur das die Einrichtung bedeutend schneller geht wie mit den meisten anderen
Gruß
@clSchak
Edith/Add: im vcenter 5.5 ist das auch schon so mit dem VMWare FQDN, da im Regelfall aber administrator@vsphere.local, der Benutzer Root ist eigentlich nur wenn man den ESXi direkt ansprechen möchte.
Normal Monitoring halt, nur das die Einrichtung bedeutend schneller geht wie mit den meisten anderen
Gruß
@clSchak
Edith/Add: im vcenter 5.5 ist das auch schon so mit dem VMWare FQDN, da im Regelfall aber administrator@vsphere.local, der Benutzer Root ist eigentlich nur wenn man den ESXi direkt ansprechen möchte.
Schau Dich mal hier um.
Ich habe das Script bei mehreren Kunden implementiert.
Alternativ Virtu-Al.net SCRIPT LIST
Gruss Penny
Ich habe das Script bei mehreren Kunden implementiert.
Alternativ Virtu-Al.net SCRIPT LIST
Gruss Penny
Der Connection-String bei mir sieht wie folgt aus:
connect-viserver <vcenterserver> -u <vmwarebenutzer>@<vsphere FQDN> -Password password
danach kommen dann die weiteren Befehle, funktioniert bisher immer anstandslos - ansonsten leg einen neuen Benutzer im vCenter an und nutzen den dafür, wir haben für die unterschiedlichen Aufgaben und Scripte immer separate Benutzer angelegt.
connect-viserver <vcenterserver> -u <vmwarebenutzer>@<vsphere FQDN> -Password password
danach kommen dann die weiteren Befehle, funktioniert bisher immer anstandslos - ansonsten leg einen neuen Benutzer im vCenter an und nutzen den dafür, wir haben für die unterschiedlichen Aufgaben und Scripte immer separate Benutzer angelegt.
Verbindest du dich mit einem vCenter oder mit dem ESXi direkt?
das musst ändern auf:
Dann verbindet der sich mit den eingetragenen Credentials, ansonsten mit dem Benutzernamen der das Script ausführt.
# Check is server is a Virtual Center Server and connect with current user
if ($server -eq "VCServer"){Connect-VIServer $server}
das musst ändern auf:
# Check is server is a Virtual Center Server and connect with current user
if ($server -eq "VCServer"){Connect-VIServer $server -user $username -password $password}
Dann verbindet der sich mit den eingetragenen Credentials, ansonsten mit dem Benutzernamen der das Script ausführt.
du kannst es ja manuell eingeben via Powershell ob der Connection-String funktioniert
das müsste dann ja auch fehlschlagen.
Wenn die Verbindung zu dem ESXi direkt funktioniert, dann versucht der sich auch mit "root" und dem Passwort am vCenter anzumelden, dass funktioniert dann natürlich nicht
Du kannst die Angaben auch direkt im Script ohne Variable angeben:
connect-viserver vcenteradresse -user administrator@xyz -password adminpasswort
das müsste dann ja auch fehlschlagen.
Wenn die Verbindung zu dem ESXi direkt funktioniert, dann versucht der sich auch mit "root" und dem Passwort am vCenter anzumelden, dass funktioniert dann natürlich nicht
Du kannst die Angaben auch direkt im Script ohne Variable angeben:
# Check is server is a Virtual Center Server and connect with current user
if ($server -eq "VCServer"){Connect-VIServer $server -user administrator@.... -password administratorpasswort}
# Use specific login details for the rest of servers in $serverlist
else {Connect-VIServer $server -user root -password rootpasswort}