Dobrý den, dnes jsem zkoušel změnit si ip adresu pomocí scriptu. Když otevřu příkazový řádek jako správce zadám příkaz ->netsh a potom zadám například: interface ip set address name = "Ethernet" static 192.168.10.20 255.255.255.0 192.168.1.1 tak mi to změní ip adresu potom když zadám interface ip set dns "Ethernet" static 193.85.1.100 primary tak mi to sice změní jen jedno dns a to druhé nastavit nejde, ale funguje to. Problém přichází ve chvíli kdy se z toho snažím udělat soubor .bat a spustit to najednou. V poznámkovém bloku to napíšu takto
@echo off
netsh
interface ip set address name = "Ethernet" static 192.168.10.20 255.255.255.0 192.168.1.1
interface ip set dns "Ethernet" static 193.85.1.100 primary
PAUSE
ale vždy se provede jen ta první akce a to, že se to dostane do toho modu netsh. Nějaké rady jak by to mělo být správně popřípadě jiný způsob, budu rád za jakékoliv rady.
jak napsat script pro změnu ip adresy
-
- nováček
- Příspěvky: 2
- Registrován: srpen 19
- Pohlaví:
- Stav:
Offline
- ITCrowd
- Tvůrce článků
-
Guru Level 13.5
- Příspěvky: 23605
- Registrován: březen 10
- Pohlaví:
- Stav:
Offline
Re: jak napsat script pro změnu ip adresy
Vítej na PC-HELP!
netsh dnsclient add dnsserver "Ethernet" address=192.168.1.4 1
netsh dnsclient add dnsserver "Ethernet" address=192.168.1.5 2
ke druhému problému - netsh musí být na každém řádku. BAT neumí pracovat v interaktivním režimu.
Abych řekl pravdu, nemám to ověřeno...
Používám tyto příkazy ve vbs:
Dodatečně přidáno po 11 minutách 2 vteřinách:
A měl by fungovat i tento skript ve vbs:
Je to vázáno přímo na MAC adresu, takže se to nesplete
netsh dnsclient add dnsserver "Ethernet" address=192.168.1.4 1
netsh dnsclient add dnsserver "Ethernet" address=192.168.1.5 2
ke druhému problému - netsh musí být na každém řádku. BAT neumí pracovat v interaktivním režimu.
Abych řekl pravdu, nemám to ověřeno...
Používám tyto příkazy ve vbs:
Kód: Vybrat vše
Set objShell = WScript.CreateObject("WScript.Shell")
strRun = "%COMSPEC% /c netsh int ipv4 set address name=" & Chr(34) & "Připojení k místní síti" & Chr(34) & " static 192.168.1.106 255.255.255.0 192.168.1.1 1"
objShell.Run strRun,,True
strRun = "%COMSPEC% /c netsh dnsclient add dnsserver " & Chr(34) & "Připojení k místní síti" & Chr(34) & " address=192.168.1.4 1"
objShell.Run strRun,,True
strRun = "%COMSPEC% /c netsh dnsclient add dnsserver " & Chr(34) & "Připojení k místní síti" & Chr(34) & " address=192.168.1.5 2"
objShell.Run strRun,,True
Dodatečně přidáno po 11 minutách 2 vteřinách:
A měl by fungovat i tento skript ve vbs:
Kód: Vybrat vše
strComputer = "."
arrIPAddress = Array("192.168.1.106")
arrSubNetMask = Array("255.255.255.0")
arrGateway = Array("192.168.1.1")
arrDNS = Array("192.168.1.4", "192.168.1.5")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration WHERE MACAddress='D4:4A:3E:92:FD:29'")
For Each objItem in colItems
intValue = objItem.EnableStatic(arrIPAddress, arrSubNetMask)
intValue = objItem.SetGateways(arrGateway)
intValue = objItem.SetDNSServerSearchOrder(arrDNSServers)
Next
Je to vázáno přímo na MAC adresu, takže se to nesplete
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Re: jak napsat script pro změnu ip adresy
Tvuj problem byl ten ze to delalo presne to, co jsi zadal, a ne to co chces.
BAT soubor funguje tak, ze spusti to co mas na radku a dokud to neukoncis
tak se nepohne dal.
Tedy prvnim radkem jsi spustil netsh - a nezavrel ho. Uz je jasne, proc to neslo ?
Spravne reseni viz vyse, na kazdem radku musi byt cely prikaz netsh.
BAT soubor funguje tak, ze spusti to co mas na radku a dokud to neukoncis
tak se nepohne dal.
Tedy prvnim radkem jsi spustil netsh - a nezavrel ho. Uz je jasne, proc to neslo ?
Spravne reseni viz vyse, na kazdem radku musi byt cely prikaz netsh.
- ITCrowd
- Tvůrce článků
-
Guru Level 13.5
- Příspěvky: 23605
- Registrován: březen 10
- Pohlaví:
- Stav:
Offline
Re: jak napsat script pro změnu ip adresy
A ještě doplním - tvé příkazy pro dns by mohly vypadat takto:
netsh interface ip set dns name="Local Area Connection" source=static addr=202.138.18.2 register=PRIMARY
netsh interface ip add dns name="Local Area Connection" addr=10.255.255.20 index=2
Můžeš vyzkoušet
netsh interface ip set dns name="Local Area Connection" source=static addr=202.138.18.2 register=PRIMARY
netsh interface ip add dns name="Local Area Connection" addr=10.255.255.20 index=2
Můžeš vyzkoušet
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
-
- nováček
- Příspěvky: 2
- Registrován: srpen 19
- Pohlaví:
- Stav:
Offline
Re: jak napsat script pro změnu ip adresy
ITCrowd píše:A ještě doplním - tvé příkazy pro dns by mohly vypadat takto:
netsh interface ip set dns name="Local Area Connection" source=static addr=202.138.18.2 register=PRIMARY
netsh interface ip add dns name="Local Area Connection" addr=10.255.255.20 index=2
Můžeš vyzkoušet
Tyto 2 příkazy fungují skvěle, nastaví jak primární DNS tak druhou. Ale když jsem se snažil ve .vbs tak mi to nějak nešlo, ještě to nějak prozkouším, ale provizorně budu používat
netsh interface ip set address name = "Ethernet" static 192.168.10.20 255.255.255.0 192.168.1.1
netsh interface ip set dns name="Ethernet" source=static addr=202.138.18.2 register=PRIMARY
netsh interface ip add dns name="Ethernet" addr=10.255.255.20 index=2
PAUSE
Moc děkuji za odpovědi
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 11
- 2302
-
od petr22
Zobrazit poslední příspěvek
15 zář 2023 12:48
Zpět na “Windows 11, 10, 8...”
Kdo je online
Uživatelé prohlížející si toto fórum: DotNetDotCom.org [Bot] a 9 hostů