Indirekt hat der schon bissl was damit zu tun.
Der Windows Script Host (WSH) kann aktuell standardmäßig VisualBasic- (VBS), JavaScript- (JS) und PowerShell-Scripte ausführen,
über die Console (wscript.exe bzw. cscript.exe) oder via
API (
DLL).
Und man kann dort auch nich weitere Script-Sprachen registrieren. (sogar PascalScript gibt es)
Wobei man PowerShell auch direkt auswühren kann (powershell.exe) und den WSH garnicht bräuchte.
Hier sind praktisch paar Dinge gemischt, welche nichtmal alle für das eigentlich Problem nötig sind.
* Laufwerke suchen ...
Win32-
API, PowerShell,
WMI oder sonstwo
* ein PowerShellScript ausführen und dort nach Laufwerken suchen
* ein PowerShellScript im WindowsScriptingHost ausführen
1. Schon im Original-Link fehlt das Gleichheitszeichen in der if-Abfrage und der Vergleich darf nicht mit 0 sondern muss mit flag geschehen!
Aus if (flag and DriveMask) 0 then
muss also if (flag and DriveMask) = flag then
werden.
Wobei hier nicht das
=
fehlte, denn die sind alle vorhanden.
Es fehlte das
<>
, da irgendwann diese
HTML-Zeichen verschwunden sind.