silva75
Goto Top

IP-Adresse mit VBScript eingeben

IP-Adresse mit VBScript eingeben

Hallo zäme, ich will meine Netwerkkarte mit vbscript betanken.
Subnetzmaske, Gateway, 2 DNS und 2 WINS kann kodiert sein, aber die IP-Adresse will ich über
einen inputbox eingeben.
Kann mir jemand ein Beispiel geben?

Vielen Dank für die schnelle Hilfe.

Content-Key: 157425

Url: https://administrator.de/contentid/157425

Printed on: April 19, 2024 at 16:04 o'clock

Member: Logan000
Logan000 Dec 22, 2010 at 10:38:28 (UTC)
Goto Top
Moin Moin

Für eine inputbox?
Bitte.
IchBinEineVariable = inputbox("Gib hier mal bitte was ein:")  
MsgBox IchBinEineVariable 

Gruß L.
Member: Xaero1982
Xaero1982 Dec 22, 2010 at 11:10:45 (UTC)
Goto Top
Moin,

wozu muss es denn VBscript sein?
Batch geht leichter und schneller

@echo off

::"LAN" ersetzen durch Name der betreffenden Netzwerkverbdinung  
set LAN="Name der NIC"  

::Loeschen von DNS, WINS und Gateway einträgen

netsh interface ip delete dns "LAN" all  
netsh interface ip delete wins "LAN" all  
netsh interface ip delete addr "LAN" gateway=all  

set snm=255.255.255.0
set gw=192.168.0.1
set dns1=192.168.0.1
set dns2=192.168.0.2
set wins1=192.168.0.1
set wins2=192.168.0.2
set /p IP=Bitte IP-Adresse eingeben: 


::IP Adresse setzen
netsh interface ip set address %LAN% static %ip% %snm% %gw%

::DNS1 hinzufügen
netsh interface ip add dns %LAN% %dns1%

::DNS2 hinzufügen
netsh interface ip add dns %LAN% %dns2%

::Wins1 Server hinzufügen
netsh interface ip add wins %LAN% %wins1%

::Wins2 Server hinzufügen
netsh interface ip add wins %LAN% %wins2%

Ungetestet!

VG
Member: Silva75
Silva75 Dec 22, 2010 at 11:36:05 (UTC)
Goto Top
Ich wäre froh, wenn es in vbscript wäre!
Member: Xaero1982
Xaero1982 Dec 22, 2010 at 11:54:09 (UTC)
Goto Top
Member: Logan000
Logan000 Dec 22, 2010 at 12:07:31 (UTC)
Goto Top
Moin

Oder Microsoft:
http://gallery.technet.microsoft.com/scriptcenter/en-us/3d5ae334-1d75-4 ...

Aber wenn man sich das Geraffel anschaut kommt man zu dem schluß: netsh tuts auch.
Du köntest natürlich auch mit

set objShell = CreateObject("WScript.Shell")  
objShell.run "netsh " ' um sinnvolle Parameter erweitern  
arbeiten, wenn es denn unbedingt vbs sein soll.

Gruß L.
Member: Skyemugen
Skyemugen Dec 22, 2010 at 12:20:33 (UTC)
Goto Top
Aloha,

naja man könnte auch einen lustigen Umweg gehen:

IP = inputbox("Gib hier mal bitte was ein:")  
Dim LAN, BAT
LAN = "LAN-Verbindung"  
BAT = "C:\IP.bat"  
Set fso = CreateObject("Scripting.FileSystemObject")  
Set oFile = fso.OpenTextFile(BAT, 8, true)
If IP > 0 Then
    oFile.WriteLine "@echo off" & vbCrLf & _  
"netsh interface ip set address " & Chr(34) & LAN & Chr(34) & " static 192.168.1." & IP & " 255.255.255.0 192.168.100.2" & vbCrLf & _  
"netsh interface ip add dns " & Chr(34) & LAN & Chr(34) & " 192.168.1.3" & vbCrLf & _  
"netsh interface ip add dns " & Chr(34) & LAN & Chr(34) & " 192.168.1.4" & vbCrLf & _  
"netsh interface ip add wins " & Chr(34) & LAN & Chr(34) & " 192.168.1.5" & vbCrLf & _  
"netsh interface ip add wins " & Chr(34) & LAN & Chr(34) & " 192.168.1.6"  

Else
    MsgBox "Bitte eine gültige IP-Adresse eingeben"  
End If
oFile.close

set Datei = CreateObject("Wscript.Shell")  
Datei.Run (BAT)

wscript.quit 

(ungetestet, hab letztens genau so einen Fall im VB.net erstellt, allerdings ein wenig anders und mit goto ... aber das befindet sich auf dem Arbeitsrechner)

greetz André
Member: Xaero1982
Xaero1982 Dec 22, 2010 at 12:25:26 (UTC)
Goto Top
Geil Skye face-smile
Ich würd ja sagen ... dann hat er halt beides face-smile)

Der Sinn ist mir schleierhaft, aber ok ... jedem das Seine....!

VG
Member: Silva75
Silva75 Dec 22, 2010 at 12:35:07 (UTC)
Goto Top
Hallo zäme, ich will nur noch diesen script hier anpassen, sodass der IP-Adresse über einem inputbox eingegeben wird.

''''-------------------------------------------------  
Dim DNSServer
Dim objServ, objAdapter
Dim WINSServer1, WINSServer2
Dim IP, SubNetMask
Dim Gateway, Metric, ergebnis



Const COMPUTER = "."  
Const ADAPTERINDEX = "1"  

Set objServ = _
GetObject("winmgmts://" & COMPUTER)  
Set objAdapter = objServ.Get _
    ("Win32_NetworkAdapterConfiguration.index=" & ADAPTERINDEX)  
'''DNS  
DNSServer = Array("172.16.5.4", "172.16.5.5")  
Ergebnis = objAdapter.SetDNSServerSearchOrder(DNSServer)

'''WINS  
WINSServer1 = "172.16.5.4"  
WINSServer2 = "172.16.5.5"  
Ergebnis = objAdapter.SetWINSServer(WINSServer1, WINSServer2)

''''IP  
IP = Array("172.16.70.252")  
SubNetMask = Array("255.255.255.0")  
Ergebnis = objAdapter.EnableStatic(SubNetMask)

''''Gateway  
Gateway = Array("172.16.70.1")  
Metric = Array("1")  
Ergebnis = objAdapter.SetGateways(Gateway, Metric)

Wscript.Echo "Netzwerk eingestellt "  

[Edit Biber] Codeformatierung & Hint: in Zeile 29 "..objAdapter.EnableStatic(..) "fehlt die IP als erster Parameter![/Edit]
Member: Skyemugen
Skyemugen Dec 22, 2010 at 12:59:39 (UTC)
Goto Top
Aloha,

ich seh dein Problem nicht, ist doch nun alles vorgegeben worden, was du nutzen kannst ...

address = inputbox("Bitte die IP Eingeben")  

''''IP  
IP = Array("172.16.70." & address)  
SubNetMask = Array("255.255.255.0")  
Ergebnis = objAdapter.EnableStatic(IP, SubNetMask)

oder wie oder was?

edit: code-Formatierung und IP im Enable eingefügt [c&p w/o check]
Member: Biber
Biber Dec 22, 2010 at 13:36:24 (UTC)
Goto Top
Moin Silva75,

willkommen im Forum.

Eine Sondergenehmigung, ein paar Nachfragen:

Zitat von @Silva75:
Hallo zäme, ich will nur noch diesen script hier anpassen, sodass der IP-Adresse über einem inputbox eingegeben wird.
Hmm, du bist bestimmt Schwyzer?
Um den anderen MitleserInnen das fliessende Lesen etwas zu erleichtern:
Bitte lass einfach überflüssigen Schnickschnack wie Artikel ganz weg.

Nachfrage: Wenn du doch aber kein Wort VBS sprichst, warum muss es denn dann unbedingt VBS sein?
Wer soll es denn pflegen und warten (oder auch nur starten), wenn du der Einäugigste im ganzen Laden bist?
Oder -sollte es doch nur so eine Brauchen-wir-einmal-Leben-Aktion sein:
Wieso dann nicht die dazu vorliegenden "Reicht-für-einmal-im-Leben-Tools" wie NetSh.exe von der Konsole aus verwenden?

Du hast doch jetzt nur für das Rumsuchen und Hin-und-Herposten eine halben Manntag verbrannt - for what?

Grüße
Biber
Member: Silva75
Silva75 Dec 22, 2010 at 13:40:15 (UTC)
Goto Top
Hallo,

Wenn ich den script so anpassen, bekomme ich eine Fehlermeldung. Er kann die IP-Adresse nicht einpflegen.


address = inputbox("Bitte die IP Eingeben")
SubNetMask = Array("255.255.255.0")
Ergebnis = objAdapter.EnableStatic(address, SubNetMask)
Member: Skyemugen
Skyemugen Dec 22, 2010 at 13:42:56 (UTC)
Goto Top
Aloha,

jetzt fehlt ja auch deine IP ...

funktioniert es nicht so, wie ich es vorgeschlagen hatte oder warum hast du es umgebaut?

greetz André

edit: gibst du nur die letzte Zahl ein oder die gesamte IP eigentlich?
falls letzteres, dann
address = inputbox("Bitte die IP Eingeben")  

''''IP  
IP = Array(address)
SubNetMask = Array("255.255.255.0")  
Ergebnis = objAdapter.EnableStatic(IP, SubNetMask)

edit² (auch zum Post davor von mir) IP im Enable hat gefehlt [aus deinem Code entnommen und nicht auf Fehler geprüft]) ^.^
Member: Silva75
Silva75 Dec 22, 2010 at 13:51:11 (UTC)
Goto Top
Sorry Aloha, habe deine Vorschlag nicht richtig gelesen. Funktioniert wunderbar.

Vielen Dank!!!
Member: Skyemugen
Skyemugen Dec 22, 2010 at 13:53:32 (UTC)
Goto Top
Zitat von @Silva75:
Sorry Aloha, habe deine Vorschlag nicht richtig gelesen. Funktioniert wunderbar.

Vielen Dank!!!

Wer is'n jetzt Aloha? *lach*

Aber bitte, gern geschehen =)

greetz André
Member: Silva75
Silva75 Dec 22, 2010 at 14:46:36 (UTC)
Goto Top
Sorry Andre, ich bin ein bisschen im stress.