c20082005
Goto Top

C-Sharp - IP-Adresse oder Netzwerknamen aus gemountetem Laufwerk auslesen

Hallo zusammen,

ich habe eine Frage zu C-Sharp:
Ich habe ein Netzwerklaufwerk gemountet und kann mit "DriveInfo" auch alle Werte auslesen (freier Platz u.Ä.).
Was mit jetzt noch fehlt, ist die Möglichkeit, die IP-Adresse oder den Netzwerknamen auszulesen.
Kennt jemand eine Möglichkeit, dies in C-Sharp hinzubekommen?

Gruß

Klaus

Content-ID: 399620

Url: https://administrator.de/contentid/399620

Ausgedruckt am: 26.11.2024 um 06:11 Uhr

colinardo
Lösung colinardo 27.01.2019 aktualisiert um 14:40:34 Uhr
Goto Top
Servus Klaus,
macht man z.B. per WMI Klasse Win32_MappedLogicalDisk , hier als Einzeiler mit Linq (bei beiden Codes den abzufragenden Laufwerksbuchstaben natürlich anpassen):
string strDrive = "Z:"  
string strUNCPath = new ManagementObjectSearcher("Select * From Win32_MappedLogicalDisk where Name = '" + strDrive + "'").Get().OfType<ManagementObject>().First().GetPropertyValue("ProviderName").ToString();  
MessageBox.Show(strUNCPath);
oder auf die Klassische Art:
string strDrive = "Z:"  
ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_MappedLogicalDisk where Name = '" + strDrive + "'");  
foreach (ManagementObject m in searcher.Get()) {
    MessageBox.Show(m.GetPropertyValue("ProviderName").ToString());  
}

Für beide Codes den Namespace
using System.Management;
vorher importieren.

Grüße Uwe
c20082005
c20082005 27.01.2019 um 19:11:15 Uhr
Goto Top
Moin Uwe,

da hast Du mir schon wieder geholfen.
Vielen Dank dafür!
Die "klassische Art" funktioniert super.

Beim ersten Code kommt folgende Fehlermeldung:
'System.Management.ManagementObjectCollection' enthält keine Definition für 'OfType', und es konnte keine Erweiterungsmethode 'OfType' gefunden werden, die ein erstes Argument vom Typ 'System.Management.ManagementObjectCollection' akzeptiert (Fehlt eine Using-Direktive oder ein Assemblyverweis?). (CS1061)

Da ich ein Anfänger in C# bin, konnte ich diesen Fehler nicht beheben.

Die "klassische Art" funktioniert - also gelöst - DANKE!

Gruß

Klaus
colinardo
colinardo 27.01.2019 aktualisiert um 22:20:13 Uhr
Goto Top
(Fehlt eine Using-Direktive oder ein Assemblyverweis?)
Ja. System.Linq und ein aktuelles .NET.