vinevg
Goto Top

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???

Content-Key: 346181

Url: https://administrator.de/contentid/346181

Printed on: April 23, 2024 at 12:04 o'clock

Member: clSchak
Solution clSchak Aug 12, 2017 updated at 09:53:44 (UTC)
Goto Top
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
Member: vinevg
vinevg Aug 12, 2017 at 10:00:02 (UTC)
Goto Top
welche Version des vCenters setzt du denn ein? - VMware Version 5.5

kostenlose Version von PRTG - guter Tipp, ich suche aber nach einem Script, damit es als Scheduledtask ausgeführt wird.
Member: clSchak
Solution clSchak Aug 12, 2017 updated at 10:32:38 (UTC)
Goto Top
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 face-wink

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.
Member: Penny.Cilin
Penny.Cilin Aug 12, 2017 at 10:52:15 (UTC)
Goto Top
Schau Dich mal hier um.

Ich habe das Script bei mehreren Kunden implementiert.
Alternativ Virtu-Al.net SCRIPT LIST


Gruss Penny
Member: vinevg
vinevg Aug 12, 2017 at 13:12:22 (UTC)
Goto Top
Vielen Dank für die Links, die Scripts da sind aber zu umfangreich, so tief brauche ich es nicht. Im Moment reicht mir nur die Auslastung der Hosts als HTM Report zu sehen.
Member: vinevg
vinevg Aug 14, 2017 at 07:56:54 (UTC)
Goto Top
Auch wenn man mit dem FQDN angibt (root oder Administrator mit FQDN), kommt PW Abfrage in neuem Windows Fenster auf. Irgendetwas übersehe ich eventuell oder doch im Script was falsch?
Member: clSchak
Solution clSchak Aug 14, 2017 updated at 09:00:52 (UTC)
Goto Top
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 face-smile - 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.
Member: vinevg
vinevg Aug 14, 2017 at 09:08:15 (UTC)
Goto Top
könntest du bitte mal den Script unter dem Link genauer anschauen und sagen, ob da die Fehler ist?
Member: clSchak
Solution clSchak Aug 14, 2017 updated at 09:21:19 (UTC)
Goto Top
Verbindest du dich mit einem vCenter oder mit dem ESXi direkt?

# 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.
Member: vinevg
vinevg Aug 14, 2017 at 09:20:46 (UTC)
Goto Top
mit Vcenter, wenn ich im Script nur ESXi Hosts angebe, funktioniert einwandfrei, allerdings bekomme ich aus Ausgabe dann doppelt.
Member: vinevg
vinevg Aug 14, 2017 at 09:31:40 (UTC)
Goto Top
	# Check is server is a Virtual Center Server and connect with current user
		if ($server -eq "VCServer"){Connect-VIServer $server}  
		
		# Use specific login details for the rest of servers in $serverlist
		else {Connect-VIServer $server -user $username -password $password}

das ist doch bereits so im Script drine? wenn ich allerdings

# Use specific login details for the rest of servers in $serverlist
		else {Connect-VIServer $server -user $username -password $password}

rausnehme und obere Zeilen anpasse, funktioniert es trotzdem nicht, es kommt trotzdem erneute Abfrage nach dem PW
Member: clSchak
Solution clSchak Aug 14, 2017 updated at 09:38:38 (UTC)
Goto Top
du kannst es ja manuell eingeben via Powershell ob der Connection-String funktioniert

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}
Member: vinevg
vinevg Aug 14, 2017 at 09:56:47 (UTC)
Goto Top
jetzt geht's! Super, vielen Dank. Du hast aber nicht zufälligerweise auch für den 2 Punkt passendes Script??? (Aber nur als PS)
Member: clSchak
clSchak Aug 14, 2017 at 10:03:53 (UTC)
Goto Top
ne leider nicht, wir erstellen keine Reports über PS für VMWare face-smile das macht PRTG bereits für uns face-wink
Member: vinevg
vinevg Aug 14, 2017 at 10:09:46 (UTC)
Goto Top
Alles läuft, nur eine wichtige Kleinigkeit ist noch da, alle Ergebnisse werden doppelt ausgegeben im Bericht (HTML), siehst du da auch irgendwo, was man anpassen könnte?