Hi Kollegas!
Ich habe folgende Aufgabe:
Bestimmte Volumes sollen bestimmte Laufwerksbuchstaben bekommen. Falls z.B. das Volume "BB" nicht den LW-Buchstaben U hat, soll der Buchstabe auf U geändert werden. Bisher habe ich hierzu einen VB Code gefunden -siehe unten.
Dieser benötigt einen Neustart nach Ausführen des Scriptes.
Frage eines AutoIT-Anfängers:
Gibt es zu dieser Aufgabe bereits ein AutoIT-Script?
Lässt sich dies mit AutoIT scripten (evtl. ohne Neustart)?
Vielen Dank für Eure schnelle Antwort!
Gruß aus Hamburg,
Michael
+++VBCode Start+++
'Definition der Variablen
Dim objFSO
Dim drvLoop
Dim oReg
sComputer = "."
Const HKLM = &H80000002
'Objekte
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Schleife, in der die DriveLetter mit den VolumeNames verglichen werden.
For Each drvLoop In objFSO.Drives
If drvLoop.VolumeName = "BB" and drvLoop.DriveLetter <> "U" Then
sSourceDrive = drvLoop.DriveLetter & ":"
sTargetDrive = "U:"
bOK = True
Set oReg = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" _
& sComputer & "\root\default:StdRegProv")
sKeyPath = "SYSTEM\MountedDevices"
sSrc = "\DosDevices\" & UCase(sSourceDrive)
iRC = oReg.GetBinaryValue(HKLM, sKeyPath, sSrc, sValue)
If iRC = 0 Then
sTrg = "\DosDevices\" & UCase(sTargetDrive)
iRC = oReg.SetBinaryValue(HKLM, sKeyPath, sTrg, sValue)
If iRC = 0 Then
oReg.DeleteValue HKLM, sKeyPath, sSrc
Else
bOK = False
End If
Else
bOK = False
End If
ChangeDrvLetter = bOK
Msgbox "Drive letters changed, please reboot to see the change!"
Else
'Msgbox drvLoop.DriveLetter & ":\" & "Disk information unavailable"
End If
Next
Set objFSO = Nothing
+++VBCode Ende+++