# encoding: ascii
# api: powershell
# title: Set-IPAddress
# description: A function to set an IP Address
# version: 0.1
# type: function
# author: Andy Schneider
# license: CC0
# function: Set-IPAddress
# x-poshcode-id: 530
# x-derived-from-id: 531
# x-archived: 2015-05-21T23:22:08
# x-published: 2009-08-18T17:54:00
#
# Andy Schneider
# Get-PowerShell.com
#
function Set-IPAddress {
		param(		[string]$networkinterface =$(read-host "Enter the name of the NIC (ie Local Area Connection)"),
				[string]$ip = $(read-host "Enter an IP Address (ie 10.10.10.10)"),
				[string]$mask = $(read-host "Enter the subnet mask (ie 255.255.255.0)"),
				[string]$gateway = $(read-host "Enter the current name of the NIC you want to rename"),
				[string]$dns1 = $(read-host "Enter the first DNS Server (ie 10.2.0.28)"),
				[string]$dns2,
				[string]$registerDns = "TRUE"
		 )
		
				
		
		$dns = $dns1
		if($dns2){$dns ="$dns1,$dns2"}
		$index = (gwmi Win32_NetworkAdapter | where {$_.netconnectionid -eq $networkinterface}).InterfaceIndex
		$NetInterface = Get-WmiObject Win32_NetworkAdapterConfiguration | where {$_.InterfaceIndex -eq $index}
		$NetInterface.EnableStatic($ip, $subnetmask)
		$NetInterface.SetGateways($gateway)
		$NetInterface.SetDNSServerSearchOrder($dns)
		$NetInterface.SetDynamicDNSRegistration($registerDns)
		
}
