Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!

PowerCLI: Snapshots auflisten und filtern

Alles zum Thema vSphere 6, ESXi 6.0 und vCenter Server.

Moderatoren: irix, continuum, Dayworker

Member
Beiträge: 17
Registriert: 11.12.2012, 13:34

PowerCLI: Snapshots auflisten und filtern

Beitragvon Kuddel071089 » 22.08.2016, 11:02

Hallo zusammen,

jeden Tag (10 Uhr) bekommen wir VMware Admins eine Mail zugeschickt, in der alle aktuellen Snapshots auf dem System aufgelistet sind, bzw. eine Mail, dass es aktuell keine Snapshots gibt.

Funktioniert einwandfrei.

Sobald es aber noch Snapshots von einer laufenden Datensicherung gibt, funktioniert das ganze nicht mehr, dann diese Snapshots werden ja atuomatisch gelöscht und sind dahe rnicht relevant.

Kann man bei der SUche irgendwie FIlter und Snapshots mit der Beschreibung ausblenden ?

Mit diesem Befehl suche ich nach Snapshots:

Code: Alles auswählen

Get-VM | Get-Snapshot | Select VM, Name, Description, Created, SizeGB | Out-File -FilePath $logdatei -encoding utf8 -Append

Hier müsste ich jetzt irgendwie Filtern können

Code: Alles auswählen

... -Filter {Description -notlike "*YXZ*"}


Danke schon einmal für die Hilfe

King of the Hill
Beiträge: 12555
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 22.08.2016, 11:52

Hier bei uns wird die Anzahl und das Datum mit angezeigt. Das heist du must entweder den Namen, deine Backupsoftware wird sie da ja verewigen oder aber das Erstellungsdatum des Snapshots mit einbeziehen was bedeutet diese dann auszuschliessen.

Bei Powershell kann man natuerlich immer Versuchen alles in "eine" Zeile zu quetchen oder aber man macht klassisch das grobe Dateneinsammeln um dann innerhalb einer Foreach- Schleife darueber zuiterieren und nach einer oder mehr Methoden Dinge auszuschliessen.

Das Snapshot Objekt sollte ein $_.Created haben.

Gruss
Joerg

Member
Beiträge: 17
Registriert: 11.12.2012, 13:34

Beitragvon Kuddel071089 » 22.08.2016, 14:36

Habe es hinbekomme.

Hier ist meine Skript, falls es jmd interessiert:

Code: Alles auswählen

cls
$host.ui.RawUI.WindowTitle = "Snapshot Check v0.2"

$Mailempfaenger = "user@xyz.de"
$smtpserver = "outlook.xyz.de"
$datum = Get-Date -format "dd.MM.yyyy"
$logdatei = "C:\Snapshot_Check_$datum.txt"


#Vmware CLI laden
."C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1"
cls

#Verbindung mit vCenter aufnehmen
Connect-VIserver -Server VNTS080
cls



if(Get-VM | Get-Snapshot) {
$snapshots = Get-VM | Sort | Get-Snapshot | Select VM, Name, Description, Created, SizeGB
foreach($snapshot in $snapshots){

#Auswertung über Snapshots erstellen
if($snapshot.Description -notlike "*Data Protector*"){
"VM:              $($snapshot.VM)" | Out-File -FilePath $logdatei -encoding utf8 -Append
"Name:            $($snapshot.Name)" | Out-File -FilePath $logdatei -encoding utf8 -Append
"Beschreibung:    $($snapshot.Description)" | Out-File -FilePath $logdatei -encoding utf8 -Append
"Erstellt:        $($snapshot.Created)" | Out-File -FilePath $logdatei -encoding utf8 -Append
"Größe in GB:     $($snapshot.SizeGB)" | Out-File -FilePath $logdatei -encoding utf8 -Append
"" | Out-File -FilePath $logdatei -encoding utf8 -Append
}
}
#Info Mail der aktuellen Snapshots
if(Test-Path $logdatei){
Send-MailMessage -SmtpServer $smtpserver -to $Mailempfaenger -from "VNTS400-Snapshot-Check <VNTS400@xyz.de>" -Subject "+++ VMware: Snapshot-Übersicht +++" -body "Im Anhang sind alle derzeit vorhandenen Snapshots aufgelistet. Bitte prüfen und ggf. löschen" -Attachments $logdatei -Encoding "UTF8"
Remove-Item $logdatei}
else{
#Info Mail, wenn es keine Snapshots gibt
Send-MailMessage -SmtpServer $smtpserver -to $Mailempfaenger -from "VNTS400-Snapshot-Check <VNTS400@xyz.de>" -Subject "+++ VMware: Derzeit sind keine Snapshots vohanden +++"
}
}
else{
#Info Mail, wenn es keine Snapshots gibt
Send-MailMessage -SmtpServer $smtpserver -to $Mailempfaenger -from "VNTS400-Snapshot-Check <VNTS400@xyz.de>" -Subject "+++ VMware: Derzeit sind keine Snapshots vohanden +++"
}

King of the Hill
Beiträge: 12555
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 22.08.2016, 14:58

Das ist aber nur bedingt Praxistauglich.... dein HP DP waere das erste Produkt was ich antreffe das mal keine Snaps "stehen" laesst. Das Problem liegt auch nicht primaer am Backupprodukt sondern im Zusammenspiel mit vSphere und da sehe ich auch den schwarzen Peter.

Ich wuerde Snaps mit Namen "*Data Protector*" welche innerhalb der letzten 24h (bzw. max Joblaufzeit) unterdruecken und drueber hinaus diese ausweisen.

Ansonsten passiert dir das was der ein oder andere schon erlebt hat das er XXX Snaps gehabt hat am Ende des Platzes von seinem Datastore :)

Gruss
Joerg


Zurück zu „vSphere 6.0“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast