Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

2 IPs auf einer Netzwerkkarte mit vbscript eintragen

Frage Entwicklung VB for Applications

Mitglied: LordShelmchen

LordShelmchen (Level 1) - Jetzt verbinden

12.03.2008, aktualisiert 14:37 Uhr, 4082 Aufrufe, 2 Kommentare

Moin Moin,

ich sitze hier gerade am Problem, das ich mittels vbscript einer Netzwerkkarte zwei IPs zuweisen möchte. Eine IP bekommt man ja einfach so hin:

01.
strComputer = "." 
02.
Set objWMIService = GetObject("winmgmts:" _ 
03.
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
04.
 
05.
Set colNetAdapters = objWMIService.ExecQuery _ 
06.
    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE") 
07.
 
08.
strIPAddress = Array("192.168.1.141") 
09.
strSubnetMask = Array("255.255.255.0") 
10.
strGateway = Array("192.168.1.100") 
11.
strGatewayMetric = Array(1) 
12.
  
13.
For Each objNetAdapter in colNetAdapters 
14.
    errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask) 
15.
    errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric) 
16.
    If errEnable = 0 Then 
17.
        WScript.Echo "The IP address has been changed." 
18.
    Else 
19.
        WScript.Echo "The IP address could not be changed." 
20.
    End If 
21.
Next
a) Nur wie bekomme ich jetzt die zweite da noch rein?

b) Wie kann ich die zweite wieder löschen (die erste soll aber bestehen bleiben?


Hintergrund:
Ich schreibe gerade ein KFall Script, welches diverse Dinge auf einem Server erledigt, dazu gehört auch die Änderung der Netzwerkkonfiguration.



Grüße
LordShelmchen
Mitglied: bastla
12.03.2008 um 14:33 Uhr
Hallo LordShelmchen!

Zu a)
Es hat natürlich einen Grund, warum die jeweiligen Einstellungen als "Array" zu übergeben sind, daher:
01.
strComputer = "." 
02.
Set objWMIService = GetObject("winmgmts:" _ 
03.
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
04.
 
05.
Set colNetAdapters = objWMIService.ExecQuery _ 
06.
    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE") 
07.
 
08.
strIPAddress = Array("192.168.1.141", "192.168.0.41") 
09.
strSubnetMask = Array("255.255.255.0", "255.255.255.0") 
10.
strGateway = Array("192.168.1.100", "192.168.0.1") 
11.
strGatewayMetric = Array(1, 5) 
12.
  
13.
For Each objNetAdapter in colNetAdapters 
14.
    errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask) 
15.
    errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric) 
16.
    If errEnable = 0 Then 
17.
        WScript.Echo "The IP address has been changed." 
18.
    Else 
19.
        WScript.Echo "The IP address could not be changed." 
20.
    End If 
21.
Next
Zu b)
01.
strComputer = "." 
02.
Set objWMIService = GetObject("winmgmts:" _ 
03.
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
04.
 
05.
Set colNetAdapters = objWMIService.ExecQuery _ 
06.
    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE") 
07.
  
08.
For Each objNetAdapter in colNetAdapters 
09.
    strIPAddressCurrent = objNetAdapter.IPAddress 
10.
    strSubnetMaskCurrent = objNetAdapter.IPSubnet 
11.
    strGatewayCurrent = objNetAdapter.DefaultIPGateway 
12.
    strGatewayMetricCurrent = objNetAdapter.GatewayCostMetric 
13.
     
14.
    strIPAddress = Array(strIPAddressCurrent(0)) 
15.
    strSubnetMask = Array(strSubnetMaskCurrent(0)) 
16.
    strGateway = Array(strGatewayCurrent(0)) 
17.
    strGatewayMetric = Array(strGatewayMetricCurrent(0)) 
18.
 
19.
    errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask) 
20.
    errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric) 
21.
    If errEnable = 0 Then 
22.
        WScript.Echo "The IP address has been changed." 
23.
    Else 
24.
        WScript.Echo "The IP address could not be changed." 
25.
    End If 
26.
Next
Hier werden zunächst die Einstellungen in Arrays ausgelesen und nur das erste Element wieder zurückgeschrieben. Zu ergänzen wären noch jeweils Sicherheitsabfragen der Art
01.
If IsNull(objNetAdapter.IPAddress) Then 
02.
    WScript.Echo "Keine IP-Adresse gefunden" 
03.
    'weitere Vorgangsweise erfragen oder hier festlegen 
04.
Else 
05.
    strIPAddressCurrent = objNetAdapter.IPAddress 
06.
    strIPAddress = Array(strIPAddressCurrent(0))      
07.
End If
Grüße
bastla
Bitte warten ..
Mitglied: LordShelmchen
12.03.2008 um 14:37 Uhr
Vielen lieben Dank!

So funktioniert es.


Grüße
LordShelmchen
Bitte warten ..
Ähnliche Inhalte
Linux Netzwerk
gelöst Debian Neuinstallation 2.Netzwerkkarte keine Verbindung (10)

Frage von terminator zum Thema Linux Netzwerk ...

Switche und Hubs
Netzwerkkarte RJ45 Intel X540-T1 10GBit Kühlung und Reichweite? (3)

Frage von babylon05 zum Thema Switche und Hubs ...

VB for Applications
gelöst VBScript und OR (5)

Frage von Invisan zum Thema VB for Applications ...

VB for Applications
gelöst VbScript: ADODB.Stream: Neue Zeile einfügen (2)

Frage von BirdyB zum Thema VB for Applications ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(32)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Webbrowser
Windows 7 unbeliebte Internetseite sperren (14)

Frage von Daoudi1973 zum Thema Webbrowser ...

ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (13)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...

LAN, WAN, Wireless
gelöst Suche Firmware Image für Cisco Aironet 1252 (10)

Frage von Herbrich19 zum Thema LAN, WAN, Wireless ...

Netzwerke
VLAN Verständnissproblem (9)

Frage von Dragan123 zum Thema Netzwerke ...