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, 4078 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
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...

Router & Routing
gelöst Proxmox WAN IPs (13)

Frage von sebastian2608 zum Thema Router & Routing ...

Entwicklung
gelöst Get ip from external txt file and use in vbscript (5)

Frage von thankusomuch zum Thema Entwicklung ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

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

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...