Vraag : C# & WMI krijgen in kaart gebrachte aandelen

Ik bekijk het schrijven van a. c. # toepassing dat een lijst van in kaart gebrachte aandrijving voor een andere computer op het netwerk zullen krijgen.   Ik veronderstel ik WMI zal gebruiken, maar ik ben open eveneens aan andere opties, maar het moet computers aftasten ver, zal geen software kan op het andere computers.

This- programma worden geplaatst door een lid van „Onderneming Admins“ en „Domein Admins“ worden gelopen.  Ik heb reeds een lijst van computers, moet ik enkel de lijst van in kaart gebrachte aandelen krijgen wanneer ik een specifieke computer name.

.NET 2.0, 3.5 heb, en 4.0 alle available.
zijn

Antwoord : C# & WMI krijgen in kaart gebrachte aandelen

codefragment controle in bijlage.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
statische Lijst GetMappedDriveList (koordmachine, koordgebruikersbenaming, koordDOW)
        {
            probeer
            {
                Maak een lijst van aandrijving = nieuwe Lijst ();

                De opties van ConnectionOptions = nieuwe ConnectionOptions ();
                opties. Gebruikersbenaming = gebruikersbenaming;
                opties. Wachtwoord = DOW;
                opties. Imitatie = ImpersonationLevel.Impersonate;

                De weg van ManagementPath = nieuwe ManagementPath (@ " \ \ „+ machine + @“ \ wortel \ cimv2“);

                De vraag van ObjectQuery = nieuwe ObjectQuery („selecteer * uit Win32_MappedLogicalDisk“);

                Het werkingsgebied van ManagementScope = nieuwe ManagementScope (weg, opties);
                De onderzoeker van ManagementObjectSearcher = nieuwe ManagementObjectSearcher (werkingsgebied, vraag);

                foreach (ManagementObject obj in onderzoeker. Krijg ())
                    aandrijving. Voeg toe (obj. Eigenschappen [„Naam“]. Value.ToString ());

                terugkeer aandrijving;
            }
            vangst (ex Uitzondering)
            {
                Ex Console.WriteLine (. Bericht);
                ongeldige terugkeer;
            }
Andere oplossingen  
 
programming4us programming4us