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, 4080 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 ..
Neuester Wissensbeitrag
Microsoft Office

MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst Firtzbox VPN nicht alle Ports erreichbar? (15)

Frage von atarjono zum Thema Router & Routing ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (15)

Frage von ProfessorZ zum Thema Router & Routing ...