1

Is it possible, with WMI, to bind IP addresses to a NIC? I have been able to enable a static IP, but I can't seem to find any information on adding additional IPs.

this code helped and after I realized that the IP address and Subnet fileds were arrays it made more sense: https://stackoverflow.com/questions/209779/how-can-you-change-network-settings-ip-address-dns-wins-host-name-with-code

Basically, when you assign the IPs and subnets you separate the different items with commas so:

newIP["IPAddress"] = new string[] { "1.1.1.1", "1.1.1.2"}; 
newIP["SubnetMask"] = new string[] { "255.255.255.0","255.255.255.0"}; 

3 Answers 3

1

I assume you are using the EnableStatic method of the Win32_NetworkAdapterConfiguration class to assign a static IP?

If so, the MSDN documentation refers the the IP address and gateway parameters as lists, perhaps you can use arrays to assign multiple addresses?

Sorry, I don't have easy access to a Windows machine I can test with at the moment. Maybe later when I'm at home.

http://msdn.microsoft.com/en-us/library/aa390383(v=VS.85).aspx

4
  • I am using hte EnableStatic method. I tried an array of IP addresses, but it donesn't seem to work or I am doing something wrong.
    – DDiVita
    Sep 14, 2010 at 16:00
  • Can you edit your question and add the code you're using? I'll install a Windows VM quickly. Sep 14, 2010 at 18:09
  • The reason why it wasn't working is that I had DHCP enabled on a machine I was testing. I never set it to use a Static address via the code. I thought WMI would automatically do that, but apparently it doesn't.
    – DDiVita
    Sep 15, 2010 at 11:58
  • I'm confused, do you still have a problem, or is it working properly now? Sep 15, 2010 at 12:57
0

Basically, when you assign the IPs and subnets you separate the different items with commas so:

newIP["IPAddress"] = new string[] { "1.1.1.1", "1.1.1.2"}; 
newIP["SubnetMask"] = new string[] { "255.255.255.0","255.255.255.0"};
-1
$IPs = ($NIC.IPAddress)
$mask = @()
foreach($ip in $IPs) {$mask += "255.255.254.0"}
$NIC.EnableStatic($ips, $mask)

Try this

1
  • 3
    Please don't just write a string of commands without any context or explanation. It's hard for others to make an informed decision as to whether the answer is correct or not.
    – Jenny D
    Sep 15, 2015 at 15:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .