WSH/WMI: USB-Stick (Removable Devices) ermiteln
Problem:
Um z.B. ein Backup-Lösung auf einen USB-Wechseldatenträger (Stick) zu ermöglichen, möchte man prüfen, ob ein "Removable Device" angeschlossen ist.
außerdem soll geprüft werden, ob es mehr als ein USB-Device gibt.
Lösung:
Das nachfolgende Skript überprüft per WMI, ob "Removable Devices" angeschlossen sind. Sollten welche gefunden sein, wird die Anzahl, der Volumename und der Laufwerksbuchste davon ermittelt.
Um z.B. ein Backup-Lösung auf einen USB-Wechseldatenträger (Stick) zu ermöglichen, möchte man prüfen, ob ein "Removable Device" angeschlossen ist.
außerdem soll geprüft werden, ob es mehr als ein USB-Device gibt.
Lösung:
Das nachfolgende Skript überprüft per WMI, ob "Removable Devices" angeschlossen sind. Sollten welche gefunden sein, wird die Anzahl, der Volumename und der Laufwerksbuchste davon ermittelt.
Option Explicit Dim WshShell Dim strComputer, objWMIService, colItems, objItem Dim USB, USize, UName, UAnzahl, Antwort Dim BackupDir, UDesktop, UDateien, UFavoriten set WshShell = WScript.CreateObject("WScript.Shell") 'Setzt USB-Variablen zurück USB ="" UAnzahl = 0 USize = 0 UName = "" 'Ermittlung von Anzahl und Eigenschaften Wechseldatenträger strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk") For Each objItem in colItems If objItem.DriveType = 2 Then USB = objItem.Name & "\" UName = objItem.VolumeName USize = Int(objItem.FreeSpace /1048576) UAnzahl = UAnzahl + 1 'Anzahl WEchselmedien ermitteln End if Next 'Überprüft, ob mehr als ein USB-Stick angesteckt ist If UAnzahl > 1 Then MsgBox "Mehrere USB-Sticks gefunden!" & vbCRLF & "Bitte nur Sicherungs-Stick einstecken und Sicherung neu starten.", vbOKOnly + vbCritical, "Mehrere USB-Sticks gefunden" WScript.Quit End if 'Überprüfen ob ein USB-Stick angesteckt ist If USB = "" Then MsgBox "KEIN USB-Stick gefunden!" & vbCrLf & "Bitte überprüfen und Sicherung neu starten!", vbOKOnly + vbCritical, "USB-Fehler" WScript.Quit End If