Möchte man mehrere IP Adressen in die lokale Windows Hosts Datei einpflegen, so kann man folgendes Script verwenden. Dafür wird zu dem Script noch eine weitere Datei benötigt in der die gewünschten IP Adressen enthalten sind.
In dem Script wird auch geprüft ob dies hinzufügende IP Adresse schon vorhanden ist und dementsprechend wird mit der nächsten IP Adresse weiter gearbeitet.
Hier nun das Script:
:: Autor Knut Herter :: Datum 1.10.2023 :: :: Zweck : In die lokale Hosts Datei muessen der Eintraege a la w.x.y.z www.meine-testdomain.de :: hinzugefuegt werden sofern dieser nicht vorhanden sind :: ::@echo off setlocal enabledelayedexpansion set "hosts_file=%SystemRoot%\System32\drivers\etc\hosts" rem Stelle sicher, dass die Eingabedatei vorhanden ist und setze sie als Eingabequelle set "input_file=input.txt" if not exist "!input_file!" ( echo Eingabedatei "!input_file!" nicht gefunden. exit /b ) rem Schleife zum Lesen der Eingabedatei for /f "tokens=1,2" %%a in (!input_file!) do ( set "ip_to_check=%%a" set "hostname=%%b" rem Überprüfen, ob die IP bereits in der Hosts-Datei vorhanden ist findstr /C:"!ip_to_check!" "!hosts_file!" >nul if !errorlevel! neq 0 ( echo IP-Adresse !ip_to_check! für !hostname! nicht gefunden. Füge sie hinzu. rem IP-Adresse und Hostname zur Hosts-Datei hinzufügen echo !ip_to_check! !hostname! >> "!hosts_file!" ) else ( echo IP-Adresse !ip_to_check! für !hostname! bereits in der Hosts-Datei vorhanden. ) ) endlocal
Das Script erwartet die Datei input.txt und muss mit administrativen Rechten gestartet werden. In dieser sehen die Einträge in folgender Form. Ist die Datei nicht vorhanden, dann wir die komplette Verarbeitung abgebrochen.
192.168.1.100 example1.com 10.0.0.1 example2.com 192.168.2.200 example3.com
Natürlich kann man das Script auch ein Domänenumgebung mit einer GPO verwenden.
Möchte man nur eine einzelne IP Adresse aufnehmen, dann kann man auch folgendes Script verwenden: KLICK