Scenario : You have just created (by whatever means) a new server. It has gotten an IP address from DHCP and all is working as it should…..However…. Perhaps this server provides a service that requires a static IP (for whatever reason).
In the old days, you would fire up the DHCP tool from the RSAT tools or <shudder> RDP into your domain controller to convert the dynamic DHCP Lease into a reservation. There is a faster way…… if you guessed Powershell – you are correct 🙂
It took a little spelunking around to work this out but here are the steps to follow.
First, create a remote powershell session to your DHCP server.
Enter-PSSession -ComputerName MyDC.houndtech.pri
Next find out the IP address of the new server. Easy enough with :
Test-NetConnection -computername Newserver.houndtech.pri
Let’s make things a little easier for later and put that returned object in a variable.
$x = Test-NetConnection -computername Newserver.houndtech.pri
But we don’t need the whole object, just the IP address, so let’s narrow it down with
$IP = $x.BasicNameResolution.IPaddress
$IP contains JUST the IP address, which is what we need for the next series of cmdlets.
Next we retrieve the DHCP lease object with
Get-DHCPServerV4Lease -IPAddress $IP
Finally pipe it to the cmdlet to add the reservation.
Get-DHCPServerV4Lease -IPAddress $IP | Add-DHCPServerV4Reservation
Of course this could be piped together into a sweet oneliner that would go well added to any automated provisioning script.
Get-DHCPServerV4Lease -IPAddress ((Test-NetConnection -ComputerName 'NewServer.HoundTech.pri').RemoteAddress.IPAddressToString)| Add-DhcpServerv4Reservation
See you next time!