c # - Kort netværksdrev: 'net.exe USE' vs WshNetwork.MapNetworkDrive?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg søger at kortlægge et drev i mit program.Min brugere kan bruge alle Windows-versioner fra XP, så jeg har brug for den mest alsidige metode. Jeg har brugt den første metode før og generelt har det fungeret godt for mig . Men det er virkelig ikke muligt at fange fejl med det (det ved jeg alligevel). Den anden gør det let at lade mig pakke en prøve/fange blokke rundt om det, men for al den søgning jeg har gjort for alternativer til metode 1 , Jeg har kun kørsel på tværs af metode 2 en gang. Så det efterlader mig at undre sig om det er pålideligt nok til et så varieret miljø. Kan nogen fortælle mig, om metode 2 er sikker for de fleste omstændigheder?


Metode 1


Process.Start("net.exe", @"USE Z: \servershare /user:domainusername password").WaitForExit();


Metode 2 henviser til Windows Script Host Object Model


IWshNetwork\_Class network = new IWshNetwork\_Class(); 
network.MapNetworkDrive("k:", @"\servershare");

Bedste reference


Den anden tilgang ville være at udpege den faktiske Win32 apis (WNetAddConnection2A, WNetCancelConnection2A, osv.).
Tjek http://www.codeguru.com/csharp/csharp/cs\_network/windowsservices/article.php/c12357/[3]