Computername?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
uruk-kai

Samstag 29. Oktober 2005, 16:58

Wie kann ich den Computernamen(Windows) abrufen?
Alternativ ginge auch die Computerbeschreibung oder irgendetwas
anderes, was einen Computer möglichst eindeutig identifiziert.
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Samstag 29. Oktober 2005, 17:54

Wenns nur im Netzwerk sein soll, sollte die IP-Adresse auch eindeutig sein. Leider weiss ich jetzt nicht wie auslesen.

Gruss
Benutzeravatar
Mawilo
User
Beiträge: 446
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Samstag 29. Oktober 2005, 19:51

Hallo,

der Username geht z.B.mit:

Code: Alles auswählen

import getpass
print getpass.getuser()
oder du holst dir die Umgebung

Code: Alles auswählen

import os
print os.environ
Da kannst du dann den Computernamen ausgeben. In Windows sollte

Code: Alles auswählen

import os
print os.environ['COMPUTERNAME']
dir den Name des Computers ausgeben. Unter Linux sollte 'HOSTNAME'
funktionieren.

Stephan
BlackJack

Samstag 29. Oktober 2005, 20:48

rayo hat geschrieben:Wenns nur im Netzwerk sein soll, sollte die IP-Adresse auch eindeutig sein. Leider weiss ich jetzt nicht wie auslesen.
Ein Rechner kann mehrere IPs haben. Wie würde man also die festlegen/herausfinden, die die "identifizierende" sein soll?
Benutzeravatar
Mawilo
User
Beiträge: 446
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Sonntag 30. Oktober 2005, 09:15

BlackJack hat geschrieben: Ein Rechner kann mehrere IPs haben.
Also mein Windows-Rechner hat schon mal zwei IP-Adressen. Wenn ich einen Rechner identifizieren muss, so verwende ich im Netzwerk meistens den Rechnername bzw. den Username. Der ist in der Domain eindeutig.

In Python wird es sicherlich einen schönen Weg geben, die IP-Adresse auszulesen. Nur kenne ich ihn nicht. :wink:
Als quick and dirty-Lösung für Windows fällt mir folgendes ein:

Code: Alles auswählen

import os

pipe = os.popen('ipconfig -all')
msg = pipe.read()
pipe.close()

f = file('test','w')
f.write(msg)
f.close()

d = file('test','r')
for i in d:
    i = i.strip().replace('. ','').split(':')
    if i[0] == 'IP-Adresse':
        print i[1]
d.close()
os.remove('test')
Antworten