Wie man den Computernamen mit der IP-Adresse
Ich versuche, um die computer-Namen für den aktuellen Benutzer. Ich bin in der Lage, um die IP-Adresse mit System.Net.Dns.GetHostEntry("ComputerName").Address.ToString()
aber wenn ich ersetzen Sie die *ComputerName*mit der IP-Adresse, erhalte ich den folgenden Fehler.
Kein host ist unbekannt
Ich aktiviert, reverse-DNS im IIS7 durch ausführen Befehl:
Cscript.exe adsutil.vbs set w3svc/EnableReverseDNS TRUE
in der C:\inetpub\AdminScripts Verzeichnis auf meinem server.
Irgendwelche Ideen auf, was ich falsch mache?
Update
Das übergeordnete Ziel ist, dass dies ein help-desk-Anwendung, und es wird nützlich sein für die Nutzer in der Lage problemlos Ihre computer-Namen, für die Unterstützung.
Lokal alles funktioniert, aber es funktioniert nicht einmal auf dem server veröffentlicht.
Haben Sie versucht, die Dns.GetHostByName? msdn.microsoft.com/en-us/library/...... Aus diesem Dokument, "Die GetHostByName-Methode fragt den Internet-DNS-server für host-Informationen. Wenn Sie übergeben Sie eine leere Zeichenfolge als hostname, der diese Methode ruft die standard-host-Namen für den lokalen computer an." es scheint also, als ob, wenn Sie übergeben Sie einen Namen, es wird, suchen Sie es entsprechend.
Jetzt bin ich hart zu Kodieren Sie die IP-Adresse und host-computer-name des client in
Dns.GetHostEntry(hostNameOrAddress)
zu sehen, wenn ich das gewünschte Ergebnis. Der name funktioniert gut, aber die IP gibt einen Fehler aus.Sie sind auf der auf einem 64-bit OS? Wenn Sie die IP-Adresse von einem 64-bit-Maschine, die Sie brauchen, zu Durchlaufen und Holen Sie sich die IPv4-Adresse. Die erste Adresse zurückgegeben wird wohl IPv6.
Das Ziel ist, erhalten Sie den Namen des Rechners mit der IP-Adresse. GetHostByName erfordert den Hostnamen an, der bereits bekannt sein.
InformationsquelleAutor Stacking Overflows | 2014-06-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist, wie zu erhalten Sie es auf einem anderen Rechner. Das wird auch geben Sie die IPv4-version.
Ich ersetzte die
"whybla01"
mit dem computer-Namen und die IP-erhielt aber den gleichen Fehler. Ich beginne zu glauben, dass es ist ein Problem, das gelöst werden muß auf dem server. Nochmals vielen Dank.haben Sie geben Sie einen IP in string-form ("123.123.123.123"- Sie müssen analysiert werden, um eine echte IP-Adresse), oder als ein IP-Adresse? Aber ja, wenn diese nicht für Sie arbeiten dann die meisten wahrscheinlich, es ist etwas falsch konfiguriert auf dem server.
Sie können tatsächlich machen, der ganz schnell, indem Sie eine Konsolenanwendung, und klicken Sie dann hinzufügen, dass die Klasse (das ist, wie ich getestet habe es für Sie). Wenn Sie das tun, können Sie werfen break-Punkte auf die es wirklich schnell/leicht. Versuchen Sie, und werfen Sie einen Haltepunkt auf der Konsole.WriteLine(ip); Was ist der Wert? Oder ist es ein Fehler ausgelöst, bevor die Zeile?
die GetHostEntry() akzeptiert string (Computer), oder IP-Adresse (analysiert und nicht ein string). Es ist wirklich für die Einstellung IPHostEntry-Objekt, aber Sie können es verwenden, um pick-off der host-name oder IP, wie ich im Beispiel statt creting eine ganze IPHostEntry-Objekt. Einige refs msdn.microsoft.com/en-us/library/... msdn.microsoft.com/en-us/library/system.net.iphostentry.aspx msdn.microsoft.com/en-us/library/...
InformationsquelleAutor alykins
Können Sie versuchen, diese :
Danke, aber das gibt die gleiche Fehlermeldung: Kein host ist unbekannt auf der Dns.Methode GetHostEntry.
InformationsquelleAutor Moez Rebai
Danke an alle, beantwortet dieser Beitrag.
Tatsächlich, der code war nicht das problem. Es war nichts falsch mit dem code, den ich versucht hatte, oder die Vorschläge gemacht. Ich fand heraus, dass der server DNS Eintrag wurde nicht richtig gesetzt.
Vielleicht hilft es jemand anderes.
InformationsquelleAutor Stacking Overflows