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, 4087 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
LAN, WAN, Wireless
gelöst DHCP Gerät mit 2 Netzwerkkarten (10)

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

Windows Server
2 Netzwerkkarten zu einem NIC Team zusammenfassen (8)

Frage von infostud zum Thema Windows Server ...

Router & Routing
Nextcloud über 2 versch. IPs (11)

Frage von mrserious73 zum Thema Router & Routing ...

Linux Netzwerk
gelöst Debian Neuinstallation 2.Netzwerkkarte keine Verbindung (10)

Frage von terminator zum Thema Linux Netzwerk ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

Windows 7
Bluesreens unternehmensweit (18)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
IP Adressen - Modem - Switch - Accesspoint (17)

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

Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (16)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...