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
Moderátoři: Pic, Mods_senior
-
ciscotomas
- nováček
- Příspěvky: 2
- Registrován: 02 srp 2019 15:43
-
Uziv00
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
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)
NextRe: 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.
-
Uziv00
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
-
ciscotomas
- nováček
- Příspěvky: 2
- Registrován: 02 srp 2019 15:43
Re: jak napsat script pro změnu ip adresy
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žívatITCrowd 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
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
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 4 Odpovědi
- 22306 Zobrazení
-
Poslední příspěvek od draxxx

