LW-Buchstaben abhängig von der Geräte-ID
Das Vorgeben von Buchstaben abhängig von der Geräte-ID ist etwas unhandlich zu konfigurieren.
Im folgenden wird Geräte-ID "Device-ID" genannt. Genaugenommen ist es die "Instance ID", auf Microsoft-Deutsch "Geräteinstanzkennung".
Beispiel:
[DriveLetters]
DeviceID=USB\VID_067B&PID_2517
DeviceID=USB\VID_1234&PID_5678
Letter1=U
[DriveLetters]
DeviceID=USB\VID_9876&PID_5432
Letter=X
Auch der "Friendly Name" - wie von UsbDriveInfo gezeigt - kann benutzt werden. Hier muss ein Leerzeichen enthalten sein, damit USBDLM sieht, dass es ein "Friendly Name" ist. Dieser wird nur bei Bedarf ermittelt.
Es kommt auch vereinzelt vor, dass das Ermitteln des "Friendly Name" fehlschlägt - eine 'richtige' Device-ID ist zuverlässiger und schneller.
[DriveLetters]
DeviceID=Corsair Flash Voyager
Letter=V
Wenn eine Device-ID konfiguriert ist, sind der Standard BusType=USB und die Standard-Laufwerkstypen REMOVABLE und FIXED außer Kraft gesetzt, da eine Geräte-ID ausreichend eindeutig ist. Bei einem U3-Stick ist die Geräte-ID des USB-Gerätes ("Ctrl DevID") aber ungeeignet, da diese sowohl für das gefälschte CDROM-Laufwerk als auch für den Wechseldatenträger gilt. Hier besser die "Drive DevID" nutzen.
Die Device-ID muss man sich erstmal ermitteln. Dazu das betreffende Laufwerk anschließen und UsbDriveInfo starten. Als Device-ID kann die des Laufwerks oder des Controllers, sowie der "Friendly Name" genutzt werden.
UsbDriveInfo zeigt dies kopierfertig an, wenn im Menu Options "Show USBDLM criteria" angehakt ist.
---------------- USBDLM Criteria -------------------
MinVolumeSize=14G
MaxVolumeSize=16G
MinDriveSize=14G
MaxDriveSize=16G
DeviceID=USBSTOR\DISK&VEN_KINGSTON&PROD_DATATRAVELER_111&REV_PMAP\001CC0C60DBDBCC0C000010B&0
DeviceID=USB\VID_0951&PID_1693\001CC0C60DBDBCC0C000010B
DeviceID=Kingston DataTraveler 111 USB Device
PortName=6-3
PortName=PCI\VEN_8086&DEV_283A&SUBSYS_20AB17AA&REV_03\3&21436425&0&D7-3
VolumeLabel=King16Back
VolumeSerial=A4605DC1
DriveType=REMOVABLE
DeviceType=DiskReadOK
BusType=USB
PartitionNumber=1
DiskSignature=C3072E18
Der String-Vergleich erfolgt unabhängig von Groß-/Kleinschreibung. Ein beliebiger Teil des Strings kann eine Übereinstimmung ergeben. Es müssen mindestens 8 Zeichen konfiguriert werden.
Ab V4.2 können alternativ Wildcards benutzt werden.
Für eine große Zahl Device-IDs kann auf eine externe Datei verwiesen werden:
[DriveLetters]
DeviceIDs=C:\USBDLM_DeviceIDs.txt
Letter1=V
In der Text-Datei steht dann je Zeile eine Geräte-ID, ohne Einleitung.
Leerzeilen sind erlaubt, Zeilen die mit einem Semikolon beginnen, sind Kommentare.
Beispiel:
;Stick vom Admin (der Dativ ist dem Genitiv sein Tod)
USB\VID_067B&PID_2517
USB\VID_1234&PID_56789
;Sticks vom Chef
USB\VID_9876&PID_5432
USB\VID_4567&PID_4321
;Sticks vom Fußvolk
USB\VID_3456&PID_3543
USB\VID_3456&PID_1432
Nutzung der USB-Seriennummer
Im oben genannten Beispiel ist die Device-ID 'USB\VID_067B&PID_2517\6&12115AD4&2&1'. In den letzten Teil (hinter dem letzten Schrägstrich) schreibt Windows die USB-Seriennummer. Dummerweise ist der hier verwendete USB-Stick 'Corsair Flash Voyager 2GB' (altes Modell) einer, bei dem die USB-Seriennummer eingespart wurde. Deshalb wurde dieser Teil der Device-ID von Windows generiert, was am mehrfachen Vorkommen des & Zeichens zu erkennen ist. An jedem USB-Port wird eine neue Nummer generiert.
Soll so ein Gerät unter Verwendung der Geräte-ID als Kriterium an jedem USB-Port den selben Buchstaben bekommen, muss der letzte Teil der Geräte-ID weggelassen werden, also z.B. so:
DeviceID1=USB\VID_067B&PID_2517
Bei Geräten, die eine Seriennummer haben, kann man den ganzen String verwenden oder einfach nur die Seriennummer, da sie in der Geräte-ID vorkommt (vorausgesetzt sie ist mindestens 8 Zeichen lang):
[DriveLetters]
DeviceID=1234567890ABCD
Letter=V
Wenn man dann noch Letter1=-- für alle anderen USB-Laufwerke ( [DriveLetters] ) konfiguriert, hat man den einzigen funktionierenden USB-Stick und ist plötzlich ganz wichtig.
USB-Floppys und CD-ROMs sollten dann auch gesperrt werden:
[DriveLetters]
DriveTypes=floppy,cdrom,removable,fixed
Letter=--
Oder kürzer:
[DriveLetters]
DriveType=any
Letter=--
Nicht selten sind die Seriennummern aller Exemplare identisch - ein Verstoß gegen die USB-Massenspeicher-Spezifikation (oder eine sehr eigenwillige Interpretation), siehe auch hier:
http://www.uwe-sieber.de/usbtrouble.html