Laden...

GUID eines Rechners auslesen

Erstellt von Trekki1990 vor 14 Jahren Letzter Beitrag vor 14 Jahren 10.772 Views
Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 14 Jahren
GUID eines Rechners auslesen

Hallo liebe Community!

Ich muss von einem PC die GUID auslesen.
Habe auch schon hier im Forum und bei Google, codeproject usw gesucht,
aber habe nicht wirklich etwas gefunden, was mich der Lösung meines
Problems näher bringt.

Ich habe gelesen, dass die GUID aus der MAC-Adresse der Netzwerkkarte gebildet
wird und woanders dass es nie eine eindeutige GUID gibt.
Dann wieder von einer SID.

Ich hoffe ihr könnt mir ein wenig helfen. Am liebsten wären mir Quellen.
Vllt. hat der ein oder andere einen guten Tipp.

Danke schonmal im Voraus!

Gruß Trekki

S
8.746 Beiträge seit 2005
vor 14 Jahren

Ein Rechner nicht _eine _GUID. GUID sind "zufällig" generierte, eindeutige Werte. Davon kannst du dir auch mehrere generieren lassen. Da die MAC-Adressen von Netzwerkadaptern auch eindeutig sind (bzw. sein sollten) hat man u.a. daraus GUIDs abgeleitet. Das ist aber nur _ein _Verfahren. Was ist z.B. mit Rechnern ohne Netzwerkadapter?

Es gibt eine Klasse GUID in .NET, die generiert die entsprechende Werte. Wie die genau zustande kommen ist im Prinzip völlig Wurscht.

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 14 Jahren

Danke für deine Antwort!

Also im Großen und ganzen geht es darum, dass die Rechner vom Netzwerk booten
sollen und darüber Windows 7 installieren sollen.

Dafür brauchen wir die GUID des Rechners. Die stecken alle in einer Domäne drin.

K
593 Beiträge seit 2007
vor 14 Jahren

Hallo Trekki1990,

also ihr wollt eine installation per PXE und TFTP deployen? Hmm habe das schon ein paar mal gemacht aber habe nie ne GUID gebraucht.. Höchstens die MAC Adresse um sie im DHCP einzutragen..^^

Viele Grüße

Kaji

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 14 Jahren

Entschuldigung wegen der ungenauen Antwort ^^

Also im Active Directory stehen ja die ganzen Rechner.
Jeder Rechner hat eine eindeutige "Computer-ID" eben die GUID.
Die muss ich auslesen, an jedem Rechner.

Also kleines Tool mit einer kleinen TextBox wo es auf Knopfdruck erscheint.
So wollt ich es Programmieren.

Habe schon im Netz noch eine Weile rumgesucht.
Habe dieses Codeschnipsel gefunden.
Ist zwar nur für Netzwerkadapter aber, da sehe ich wenigstens,
wie ich an Win32 komme. Es muss doch einen Weg geben,
da jetzt die GUID zu finden. Anstatt DeviceID sowas wie GUID.
Habe mich mit WMI noch nicht so großartig beschäftigt.

private void Form1_Load(object sender, EventArgs e)
        {
            string query = "SELECT * FROM Win32_NetworkAdapter WHERE NetConnectionID IS NOT null";
            ManagementObjectSearcher sucher = new ManagementObjectSearcher(query);

            string s = "";
            foreach (ManagementObject m in sucher.Get())
            {
                // NetConnectionID Name der Karte wie in der Systemsteuerung
                // DeviceID ID HardwareID wie in der Registry
                s += m["NetConnectionID"] +
                    " ID " + m["DeviceID"] +
                    " MAC " + m["MACAddress"] + "\n";
            }

            MessageBox.Show(s);
        }
K
593 Beiträge seit 2007
vor 14 Jahren

Hallo Trekki1990,

hmm ich bin mir nicht ganz sicher aber meinst du sowas? .

Viele Grüße

Kaji

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 14 Jahren

Kaji danke.

Das kommt der Sache schon sehr sehr nah.
Ich gehe grade die Einträge der Win32 Klasse durch....
Ich glaube unter Win32_Baseboard finde ich die Information die ich suche

MSDN - WIN32_Baseboard

Gruß Trekki

Edit: OK, war es doch nicht, ich suche weiter.....

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 14 Jahren

Habe jetzt fast alles durch und bin am Verzweifeln.
Muss ich wohl doch die MAC-Adresse eintragen.

Bin jetzt bei bei folgenden Erkenntnissen angelangt:

  • GUID wird aus verschiedenen Hardwarekomponenten gebildet + MAC-Adr. Netzwerkkarte

Mhh jetzt weiß ich genug um eine Systeminformationsabfragetool zu schreiben... ^^
Welch Ironie.