Ciao a tutti,
devo mappare un indirizzo utilizzando la prima lettera disponibile (parto dalla Z e cerco fino alla C).
Per ora utilizzo il seguente codice, e sembra funzionare.
Il problema è quando su un pc è mappata una lettera, ma l'unità non è ancora connessa perchè l'utente non ha ancora digitato la password per accederci. Se sul pc è mappata un'unità con la lettera "Z" e l'utente non si è ancora connesso, col programma che ho fatto la "Z" risulta libera.codice:sub MappaIndirizzo Dim Lettera As String Dim i As Integer Const Max = 90 Const Min = 65 Set wshNetwork = CreateObject("Wscript.Network") For i = Max To Min Step -1 Lettera = RestituisciLettera(i) If Lettera <> "" Then wshNetwork.MapNetworkDrive Lettera & ":", "\\xxx.xxx.x.xxx\xxxxxx_xxxxxx", 0, "xxxxxx_xxxxxx", "1234567890" Exit Sub End If Next i MsgBox "Nessuna lettera disponibile per mappare un nuovo indirizzo" End End Sub Function RestituisciLettera(I As Integer) As String Dim SO_Drive, Risultato Set SO_Drive = CreateObject("Scripting.FileSystemObject") On Error GoTo OK Set Risultato = SO_Drive.getdrive(LCase(Chr(I))) RestituisciLettera = "" On Error GoTo 0 Exit Function OK: RestituisciLettera = Chr(I) If Err <> 68 Then MsgBox Err End End If On Error GoTo 0 End Function
Potrei ovviare al problema creandomi una lista da dos col comando "net use", ma vorrei evitare e proseguire su questa strada. Come posso fare?
Grazie
Luciano

Rispondi quotando
