Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

IP ändern per script

domsen - 36
Profi (offline)

Dabei seit 07.2008
474 Beiträge
Geschrieben am: 15.10.2008 um 20:30 Uhr
Zuletzt editiert am: 15.10.2008 um 20:31 Uhr

moin
hab mal ne frage und zwar wollte ich fürs geschäft n script schreiben, welcher die IP eines PCs ändert... allerdings sollte er das abhängig vom PC namen machen... (zumindest die letze stelle der IP) 172.21.11.xx
computer heißen alle COMPUTERxx also z.b (COMPUTER 01 - aufwärts eben)
wenn der PC jetzt COMPUTER01 heißt sollte die ip 172.21.11.01 werden (172.21.11.1)

das hab ich schonmal gemacht

Zitat:


@ECHO OFF

:0
CLS
ECHO Bitte waehlen
ECHO 1: Statisch
ECHO 2: Dynamisch
ECHO 3: Abbrechen

SET choice=
SET /p choice=

IF '%choice%' == '1' GOTO 1
IF '%choice%' == '2' GOTO 2
IF '%choice%' == '3' GOTO 3

ECHO Falsche Eingabe. Bitte erneut versuchen
GOTO :0

:1
ECHO Setzte Netzwerkeinstellungen auf statisch

netsh interface ip set address "LAN-Verbindung" static 172.21.11.1 255.255.255.0 172.21.10.250
netsh interface ip set dns name="LAN-Verbindung" static 62.159.208.235
netsh interface ip add dns name="LAN-Verbindung" 194.25.2.129
GOTO 3

:2
ECHO Setzte Netzwerkeinstellungen auf dynamisch

netsh interface ip set address "LAN-Verbindung" dhcp
netsh interface ip set dns name="LAN-Verbindung" dhcp
GOTO 3

:3
ECHO Vorgang abgeschlossen


jetzt meine frage... kann ich noch irgendwie einfügen, dass der fragt wie der Computername heißen soll und dann die IP demenstprechend anpasst?

ja tschau

tracer - 36
Profi (offline)

Dabei seit 04.2007
930 Beiträge
Geschrieben am: 15.10.2008 um 21:24 Uhr

vllt mal noch ne if schleife mit rein ?

Le même procédure au chaque jour ... :-)

McPommes - 51
Experte (offline)

Dabei seit 09.2006
1422 Beiträge
Geschrieben am: 15.10.2008 um 21:40 Uhr

In deinem Fall würd ich die IPs statisch vergeben. Mit dynamischem Setzen kriegst du da höchstens ein Problem.
Was passiert, wenn ein PC die IP x.x.x.10 kriegen soll (laut Script) und ein anderer hat die schon?
Oder du konfigurierst dein Netz so, dass die PCs ihre IP immer fest zugewiesen bekommen, das geht sicher auch irgendwie.

Sonst würd ich mir da ein richtiges Programm basteln, das den Computernamen ausliest und dann die IP setzt. Das sind z.B. in C# ein paar Zeilen. Per Batch wüsste ich da jetzt nix.

Aber ich würd mir wirklich überlegen ob du das haben willst. Sinnvoller wärs, die PCs so zu nennen dass man sie wiedererkennt, z.B. der Benutzer der dran sitzt, oder wo der sich befindet (Lager oder so). Die IPs sind dann im Prinzip egal, man kann ja jeden PC auch per Namen ansprechen.


*** diese Fusszeile verschwendet 45 Bytes ***

exlogge - 46
Anfänger (offline)

Dabei seit 07.2008
3 Beiträge

Geschrieben am: 15.10.2008 um 21:50 Uhr

Ob es wirklich sinvoll ist sein Netwerk so zu konfigurieren halte ich ebenfalls für bedenklich.

Aber kannst es ja trotzdem mal mit der folgenden script-ergänzung versuchen:

Zitat:


@ECHO OFF

:0
CLS
ECHO Bitte waehlen
ECHO 1: Statisch
ECHO 2: Dynamisch
ECHO 3: Abbrechen

SET choice=
SET /p choice=

IF '%choice%' == '1' GOTO 1
IF '%choice%' == '2' GOTO 2
IF '%choice%' == '3' GOTO 3

ECHO Falsche Eingabe. Bitte erneut versuchen
GOTO :0

:1
ECHO Setzte Netzwerkeinstellungen auf statisch

set last_ip_part=%userdomain:~8,2%

rem ** debug ausgabe **
echo %userdomain%
echo %last_ip_part%
rem ** debug ausgabe **

netsh interface ip set address "LAN-Verbindung" static 172.21.11.%last_ip_part% 255.255.255.0 172.21.10.250
netsh interface ip set dns name="LAN-Verbindung" static 62.159.208.235
netsh interface ip add dns name="LAN-Verbindung" 194.25.2.129
GOTO 3

:2
ECHO Setzte Netzwerkeinstellungen auf dynamisch

netsh interface ip set address "LAN-Verbindung" dhcp
netsh interface ip set dns name="LAN-Verbindung" dhcp
GOTO 3

:3
ECHO Vorgang abgeschlossen


userdomain müßte den computernamen enthalten
last_ip_part die letzten zwei stellen des computernamens - vorausgesetzt er lautet computerXX
domsen - 36
Profi (offline)

Dabei seit 07.2008
474 Beiträge
Geschrieben am: 15.10.2008 um 22:59 Uhr

ich hab das jetzt so gelöst... funzt mit einem pc einwandfrei.... im geschäft versuch ich das mit mehreren

Zitat:


::START.BAT

IF exist "C:\ipvergeben.txt" goto ENDE


::MAC ADRESSE AUSLESEN
for /f "tokens=2 delims=:" %%a in ('ipconfig /all ^| find "Physi"') do set mac=%%a


::MAC ADRESSE WIRD MIT DER MAC.TXT VERGLICHEN
for /f "tokens=2 delims= " %%b in ('type "C:\mac.txt" ^|findstr "%mac%"') do set pc=%%b


::COMPUTERNAME WIRD GEÄNDERT
REG add "HKLM\SYSTEM\ControlSet001\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %pc% /f
REG add "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d %pc% /f
REG add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %pc% /f
REG add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d %pc% /f


::IP WIRD GEÄNDERT
:IP
call C:\ip.bat


::IPs UND COMPUTERNAME WURDEN VERGEBEN, DESWEGEN ipvergeben.txt ANLEGEN
mkfile >>ipvergeben.txt
SHUTDOWN -r -f -t 10


::ALLES KLIR DIGGA, DESWEGEN JETZT ENDE
:ende


Zitat:


IP.BAT

IF %mac% == 00-0C-29-E0-E1-65 GOTO TEST01

:TEST01
netsh interface ip set address name="LAN-Verbindung" source=static addr=192.168.1.2 mask=255.255.255.0 gateway="192.168.1.1" gwmetric=1


Zitat:


mac.txt

00-0C-29-E0-E1-65 TEST01


Er geht alles durch.. sucht sich in der MAC.TXT die passende MAC adresse und teilt dadurch den PCnamen (in meinem fall TEST01) zu...
dann geht er weiter und vergibt die IP... die holt er sich aus der IP.BAT.... (is später bisschen arbeit jede MAC Adresse aufzunehmen und das goto zu machen! aber einmal gemacht = nie wieder gemacht :) (btw. sind nur 24 PCs) :-D *schwitz*
dann legt er die datei ipvergeben.txt an und springt beim nächsten run deswegen zu "ende"

eigentlich recht easy...

ja tschau

schnaebber
Champion (offline)

Dabei seit 04.2006
6006 Beiträge

Geschrieben am: 16.10.2008 um 08:22 Uhr

Darf ich nach dem Sinn fragen und weshalb nicht einfach DHCP verwendet wird?

There is room for all God's creatures, right next to the potato salad and the cole slaw.

domsen - 36
Profi (offline)

Dabei seit 07.2008
474 Beiträge
Geschrieben am: 16.10.2008 um 11:41 Uhr

Zitat von schnaebber:

Darf ich nach dem Sinn fragen und weshalb nicht einfach DHCP verwendet wird?


schulungsnetzwerk

ja tschau

schnaebber
Champion (offline)

Dabei seit 04.2006
6006 Beiträge

Geschrieben am: 16.10.2008 um 11:58 Uhr

Zitat von domsen:

Zitat von schnaebber:

Darf ich nach dem Sinn fragen und weshalb nicht einfach DHCP verwendet wird?


schulungsnetzwerk
In Schulungsnetzwerken kann man keinen DHCP-Server laufen lassen?

There is room for all God's creatures, right next to the potato salad and the cole slaw.

Der666Diablo
Champion (offline)

Dabei seit 04.2006
23736 Beiträge

Geschrieben am: 16.10.2008 um 12:05 Uhr

Zitat von schnaebber:

Zitat von domsen:

Zitat von schnaebber:

Darf ich nach dem Sinn fragen und weshalb nicht einfach DHCP verwendet wird?


schulungsnetzwerk
In Schulungsnetzwerken kann man keinen DHCP-Server laufen lassen?


ne, ich denke, das ist ne schulungsaufgabe für ihn xD oder?^^

Bei Geld, Sex und Kunst gibt es keinen abnehmenden Grenznutzen. http://shortlinks.de/oee9

  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2026 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -