BNetUse - Esempi
Individuazione di una lettera libera
using B.BNet;
string driveLetter = BNetUse.GetFreeDriveLetter();
if (driveLetter == "")
{
throw new InvalidOperationException("Nessuna lettera di unità disponibile.");
}
bool alreadyUsed = BNetUse.DriveExists(driveLetter);
Mapping di una condivisione Windows
string driveLetter = BNetUse.GetFreeDriveLetter();
BNetUse.MapNetworkDrive(
@"\\fileserver\releases",
driveLetter,
domainUsername,
password);
try
{
string mappedRoot = $"{driveLetter}:\\";
// Usare l'unità mappata.
}
finally
{
BNetUse.MapNetworkDriveDelete(driveLetter);
}
Questi metodi eseguono cmd.exe /C net use e attendono la conclusione del processo: sono specifici di Windows. Non restituiscono l'exit code e non catturano gli errori del comando; verificare il mapping con DriveExists quando il flusso applicativo richiede conferma.
Le credenziali vengono inserite negli argomenti del processo. Devono provenire dalla configurazione sicura dell'applicazione e non essere scritte nel codice o nei log.
