webForumDet fria alternativet

Batch-fil hjälp

16 svar · 432 visningar · startad av colione

colioneMedlem sedan juni 20013 386 inlägg
#1

Möjligtvis ska den här ligga i porgrammering övrigt, en med tanke på att det rör windows så provar jag här.

Jaja, jag skulle vilja skapa en batch-fil där jag skulle kunna ändra ip-t til min gateway från 192.168.1.1 till 192.168.1.254 och tillbaks utan att behöva öppna egenskaperna för nätverket. Någon idé?

nikoMedlem sedan juni 20022 415 inlägg
#2

Tveksamt om det går att fixa med en vanlig BAT-fil. Om du kör en plattform där WMI ingår (ME, 2000, XP) så kan du istället göra så här:

1. Öppna anteckningar.
2. Klistra in innehållet:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strGateway = Array("192.168.1.254")
strGatewayMetric = Array(1)
For Each objNetAdapter in colNetAdapters
    errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
    If errGateways = 0 Then
        WScript.Echo "Gatewayn har ändrats till 192.168.1.254."
    Else
        WScript.Echo "Gatewayn kunde inte ändras."
    End If
Next

3. Spara filen med ändelsen ".vbs".

Du kan nu byta gateway genom att dubbelklicka på filen. Sen kan du ju skapa ytterligare en fil som du använder när du vill byta tillbaka.

colioneMedlem sedan juni 20013 386 inlägg
#3

Tack så mycket.
Finns det ett bättre forum med folk som svarar snabbare och är lika trevligt? Tror inte det...

nikoMedlem sedan juni 20022 415 inlägg
#4

För all del. Fast du ska nog inte tacka innan du testat hur det funkar hos dig ..

En sak jag kom på bara. Jag förutsätter att du bara har ett n-kort. Har du fler så byts gatewayn på alla.

colioneMedlem sedan juni 20013 386 inlägg
#5

Det var inteför mig den var, utan en kompis.
Han har bara ett nätverkskort. Går det inte att lösa så att man bara har en vbs -fil och den byter mellan dem?

OM det funkar hos dig så bör det ju funka hos honom också, han kör svenskt winxp home.

nikoMedlem sedan juni 20022 415 inlägg
#6
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strGatewayMetric = Array(1)
For Each objNetAdapter in colNetAdapters
    if objNetAdapter.DefaultIPGateway(0)="192.168.1.1" then
	strGateway = Array("192.168.1.254")
     else
	strGateway = Array("192.168.1.1")
    end if
    errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
    If errGateways = 0 Then
        WScript.Echo "Gatewayn har ändrats till " & strGateway(0) & "."
    Else
        WScript.Echo "Gatewayn kunde inte ändras."
    End If
Next

colione skrev:

OM det funkar hos dig så bör det ju funka hos honom också, han kör svenskt winxp home.

Antagligen, men man vet aldrig. Jag kör engelskt 2000.

colioneMedlem sedan juni 20013 386 inlägg
#7

Ahh, du är kung, tack så mycket....

RikardMedlem sedan dec. 19998 623 inlägg
#8

Om du vill så kan du även skapa två REG-filer. Sådana som ändrar registret direkt, som du vet. :)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{[b]Ersätt med ditt GUID-nummer[/b]}]

"DefaultGateway"="192.168.1.254"

samt en fil med (naturligtvis):

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{[b]Ersätt med ditt GUID-nummer[/b]}]

"DefaultGateway"="192.168.1.1"

De filerna är bara att dubbelklicka på sen. :)

GunnarDMedlem sedan juni 20014 250 inlägg
#9

Eller varför inte göra det med konsol program i en .bat/.cmd fil:

rem Ta bort den befintliga defaultgateway
route delete 0.0.0.0
rem Sätt en ny defautlgateway
route add 0.0.0.0 mask 0.0.0.0 127.0.0.1

Byt ut 127.0.0.1 mot din gateway.

RikardMedlem sedan dec. 19998 623 inlägg
#10

[OT]
Nu igen GunnarD!? :D
Enkelt men genialt.
Jag tror att titeln "Kung" inte är utdelad idag... Den ligger nära till hands... ;)

colioneMedlem sedan juni 20013 386 inlägg
#11

Hehe. tack för alla svar. ska se vad min kompis svarade på vbs filen först. ;)

nikoMedlem sedan juni 20022 415 inlägg
#12

Rikard skrev:

De filerna är bara att dubbelklicka på sen.

Ja. Fast registerändringarna träder ju sen inte i kraft förrän vid nästa uppstart av devicet, vilket förtar lite av poängen. Eller har jag fel?

/niko - ex-monark

colioneMedlem sedan juni 20013 386 inlägg
#13

Jo, det har du ju faktiskt niko...

nikoMedlem sedan juni 20022 415 inlägg
#14

Jo, det har du ju faktiskt niko...

OK? Så du menade att din kompis vill kunna byta gateway fr.o.m nästa omstart? Ja, isåf är nog ett par registerfiler den enklaste lösningen.

colioneMedlem sedan juni 20013 386 inlägg
#15

niko skrev:

Jo, det har du ju faktiskt niko...

OK? Så du menade att din kompis vill kunna byta gateway fr.o.m nästa omstart? Ja, isåf är nog ett par registerfiler den enklaste lösningen.

Jag skrev fel, jag menade att du hade rätt... :p

Dr-manMedlem sedan juli 2002728 inlägg
#16

Var kan man hitta mera information WMI?

RikardMedlem sedan dec. 19998 623 inlägg
Genererad på 388 ms · cache AV · v20260730165559-full.f96bc7eb