jak napsat script pro změnu ip adresy

Operační systémy Windows z dílny Microsoft a vše kolem nich

Moderátoři: Pic, Mods_senior

ciscotomas
nováček
Příspěvky: 2
Registrován: srpen 19
Pohlaví: Muž

jak napsat script pro změnu ip adresy

Příspěvekod ciscotomas » 02 srp 2019 16:04

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.



Reklama
Uživatelský avatar
ITCrowd
Tvůrce článků
Elite Level 12.5
Elite Level 12.5
Příspěvky: 18899
Registrován: březen 10
Pohlaví: Muž

Re: jak napsat script pro změnu ip adresy

Příspěvekod ITCrowd » 02 srp 2019 16:37

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:

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

petr22
Guru Level 15
Guru Level 15
Příspěvky: 42387
Registrován: únor 12
Pohlaví: Muž

Re: jak napsat script pro změnu ip adresy

Příspěvekod petr22 » 02 srp 2019 16:51

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.

Uživatelský avatar
ITCrowd
Tvůrce článků
Elite Level 12.5
Elite Level 12.5
Příspěvky: 18899
Registrován: březen 10
Pohlaví: Muž

Re: jak napsat script pro změnu ip adresy

Příspěvekod ITCrowd » 02 srp 2019 17:07

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 :-)
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

ciscotomas
nováček
Příspěvky: 2
Registrován: srpen 19
Pohlaví: Muž

Re: jak napsat script pro změnu ip adresy

Příspěvekod ciscotomas » 05 srp 2019 16:31

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
  • Umí někdo napsat ovladač?
    od casperdeluxe » 22 říj 2019 17:04 » v Programování a tvorba webu
    9
    1774
    od casperdeluxe
    23 říj 2019 14:30
  • SSH script. Ako sa k nim dostať?
    od egresovic » 21 lis 2019 18:34 » v Administrace sítě
    4
    1248
    od Sklicko
    22 lis 2019 13:17
  • Windows Script Host
    od Tomáš Mlček » 21 bře 2020 22:29 » v Windows 10, 8, 7, Vista, XP…
    2
    497
    od Tomáš Mlček
    22 bře 2020 00:05
  • Rozdíl mezi Post Script a PCL6
    od TT85 » 18 led 2020 10:17 » v Vše ostatní (hw)
    2
    304
    od TT85
    18 led 2020 10:30
  • Script pro odesílání upozornění emailem, že někdo navštívil web
    od Martin Baroch » 27 led 2020 19:01 » v Programování a tvorba webu
    4
    927
    od Martin Baroch
    27 led 2020 22:01

Zpět na “Windows 10, 8, 7, Vista, XP…”

Kdo je online

Uživatelé prohlížející si toto fórum: bugicek7lpCZ, CommonCrawl [Bot] a 0 hostů