Per Script einem Computernamen aus der Host eine IP zuweisen
Hallo ,
ich habe möchte gerne einem Computer mit der Variable %Computername% eine feste IP Adresse aus einer Hostdatei zuweisen.
Das klappt mit folgendem Script:
copy C:W2KWsystem32driversetchosts c:hosts.txt
findstr "%COMPUTERNAME%" C:hosts.txt > C:zeile.txt
FOR /F "" %%I in ('find " " C:eile.txt') do Set IP=%%I
del C:hosts.txt
del C:eile.txt
netsh interface set interface name = "Local Area Connection" newname = "HOSTLAN"
netsh interface ip set address "HOSTLAN" static %IP% 255.255.255.0 x.x.x.x 1 1
In der Hostdatei gibt es mehre Rechner die gleich beginnen z.B.
x.x.x.x Bla-2
x.x.x.x Bla-6
x.x.x.x Bla-61
x.x.x.x Bla-62
Das oben aufgeführte Script schmeißt mir bei dem Computernamen Bla-2 die richtige IP raus, nimmt aber wenn ich als Computernamen den Bla-6 nutze die letzte IP aller einträge die mit Bla-6 beginnen, also die IP von Bla-62 raus.
Ach ja und das ganze auch noch bei Windows 2K *g*
Vielen Dank im vorraus,
GuArDiAnXT
ich habe möchte gerne einem Computer mit der Variable %Computername% eine feste IP Adresse aus einer Hostdatei zuweisen.
Das klappt mit folgendem Script:
copy C:W2KWsystem32driversetchosts c:hosts.txt
findstr "%COMPUTERNAME%" C:hosts.txt > C:zeile.txt
FOR /F "" %%I in ('find " " C:eile.txt') do Set IP=%%I
del C:hosts.txt
del C:eile.txt
netsh interface set interface name = "Local Area Connection" newname = "HOSTLAN"
netsh interface ip set address "HOSTLAN" static %IP% 255.255.255.0 x.x.x.x 1 1
In der Hostdatei gibt es mehre Rechner die gleich beginnen z.B.
x.x.x.x Bla-2
x.x.x.x Bla-6
x.x.x.x Bla-61
x.x.x.x Bla-62
Das oben aufgeführte Script schmeißt mir bei dem Computernamen Bla-2 die richtige IP raus, nimmt aber wenn ich als Computernamen den Bla-6 nutze die letzte IP aller einträge die mit Bla-6 beginnen, also die IP von Bla-62 raus.
Ach ja und das ganze auch noch bei Windows 2K *g*
Vielen Dank im vorraus,
GuArDiAnXT
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 60662
Url: https://administrator.de/forum/per-script-einem-computernamen-aus-der-host-eine-ip-zuweisen-60662.html
Ausgedruckt am: 22.05.2025 um 20:05 Uhr
2 Kommentare
Neuester Kommentar
Hallo GuArDiAnXT,
das Problem ist, dass bei dir ein Parameter bei findstr fehlt.
Probiere es mal so:
Ungeteste Skizze. Das /L sagt ihm, er soll nur Zeilen ausgeben, die exakt dem Suchstring entsprechen.
[Edit 05.06.2007 21:07]
Der Meister persönlich...
Dann empfehle ich dir, dich an seine Lösungsidee zuhalten.
Gruß
Dani
das Problem ist, dass bei dir ein Parameter bei findstr fehlt.
Probiere es mal so:
...
findstr /L "%COMPUTERNAME%" C:hosts.txt > C:zeile.txt
...
[Edit 05.06.2007 21:07]
Der Meister persönlich...
Gruß
Dani
Moin G.,
ich würde es so lösen:
...statt der bisherigen zwei Zeilen von "Findstr...." bis "....Set IP=%%I".
Teste es vorher am CMD-Prompt.
Ebenfalls ungetestete Skizze.
Gruss
Biber
ich würde es so lösen:
...
FOR /F "" %%I in ('findstr /i"%COMPUTERNAME%$" C:hosts.txt') DO Set IP=%%I
...
Teste es vorher am CMD-Prompt.
Findstr "%COMPUTERNAME%$" c:\hosts.txt
sollte die richtige Zeile bringen, da- das "/i" Klein/Groß-Unterschiede toleriert und
- das "$" dafür sorgt, dass nur am Ende der Zeile gesucht wird.
Ebenfalls ungetestete Skizze.
Gruss
Biber