Bestimmen Sie den freien Speicherplatz auf dem Laufwerk „nicht fixiert“
-
16-10-2019 - |
Frage
I am writing a stored procedure that needs to send an email when a dvd rw drive is almost full. ich fandmaster.sys.xp_fixeddrives
Aber es zeigt nur freien Festplattenraum für feste Festplatten. Ich konnte nicht etwas finden, das mir den freien Raum für "nicht fixierte" Laufwerke sagt. Gibt es eine undokumentierte SP oder eine Funktion, von der ich nichts weiß?
Lösung
$measure = Get-WmiObject Win32_LogicalDisk | Where {$_.DriveType -eq 5}
if ($measure.FreeSpace -lt 20 { "More logic"} else {"something else"}
Sie können die Logik hinzufügen, um Ihre Grenze zu messen (der Wert ist in Bytes). Verwenden Sie dann Send-MailMessage CMDLET, um Ihre Nachricht tatsächlich zu senden. Wickeln Sie all das ab und haben Sie dann einen SQL -Agentenjob das Skript geplant.
Andere Tipps
Ich konnte nicht mit einem DVD -Laufwerk testen, aber Sie können versuchen, die zu verwenden xp_cmdshell
Verfahren. Wenn Ihre DVD auf dem D -Laufwerk ist, versuchen Sie es dann xp_cmdshell 'dir D:'
. Die letzte Reihe (vor Null) gibt den freien Platz. Ein bisschen Parsen wird erforderlich sein.