guardianxt

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
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

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

Dani
Dani 05.06.2007 um 17:09:51 Uhr
Goto Top
Hallo GuArDiAnXT,
das Problem ist, dass bei dir ein Parameter bei findstr fehlt.
Probiere es mal so:
...
findstr /L "%COMPUTERNAME%" C:hosts.txt > C:zeile.txt  
...
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... face-smile Dann empfehle ich dir, dich an seine Lösungsidee zuhalten.


Gruß
Dani
Biber
Biber 05.06.2007 um 21:05:29 Uhr
Goto Top
Moin G.,

ich würde es so lösen:
...
FOR /F "" %%I in ('findstr /i"%COMPUTERNAME%$" C:hosts.txt') DO Set IP=%%I  
...
...statt der bisherigen zwei Zeilen von "Findstr...." bis "....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