Sample script at the end for this article.
I was recently at a customer that wanted to add new boundaries based on their DHCP-Scopes. This would be a very easy task if they only had a few, but they had well over a two-hundred scopes so I decided to create a PowerShell script to do the Job. One thing you need to bear in mind when doing this is that a DHCP-Scope can range from 10.10.10.1 – 10.10.10.254 which means when creating these boundaries that all client in this range are supported, no one is left out. However, a DHCP scope can also range from 10.10.10.100 – 200 which means that if a computer or server is not using DHCP but has been given an IP-address like 10.10.10.43 from an administrator which is outside the range and the computer or server has a ConfigMgr agent it would be left outside and would not be managed by ConfigMgr.
Well let’s go to the good stuff. First and foremost, we need to export the DHCP-Scopes to a comma separated CSV file. Run this command on your DHCP Server
Get-DhcpServerv4Scope | select Name,StartRange,Endrange | Export-Csv C:\Temp\DhcpServerv4Scope.csv
If you open the csv file in Notepad it should look something like this
Next save the csv file on a drive on your ConfigMgr Primary server where you want to import the Boundaries. In my environement I have used D:\Scripts
Then open a eleaveted PowerShell prompt and run the script as follows
Then yous should be able to see all your newly created boundaries in your ConfigMgr Console!
The Script:
<# .NOTES =========================================================================== Created on: 28.02.2016 09.31 Created by: Marius A. Skovli Organization: Coretech Filename: CreateBoundaries. =========================================================================== .DESCRIPTION Creates boundaries in SCCM Based on DHCP Scope. #> #---- # On DHCP Server run this to get CSV File: # Get-DhcpServerv4Scope | select Name,StartRange,Endrange | Export-Csv C:\Temp\DhcpServerv4Scope.csv #---- #---- # Import Module #---- Import-Module $env:SMS_ADMIN_UI_PATH.Replace("\bin\i386","\bin\configurationmanager.psd1") $SiteCode = Get-PSDrive -PSProvider CMSITE Set-Location "$($SiteCode.Name):\" #---- # Import Boundaries from CSV file #---- $Boundaries = Import-Csv ` -Path "$PSScriptRoot\DhcpServerv4Scope.csv" foreach($Boundary in $Boundaries){ Write-Output -InputObject "Creating $($Boundary.Name)" #Create the Boundary New-CMBoundary ` -Name $Boundary.Name ` -Type IPRange ` -Value "$($Boundary.'StartRange')-$($Boundary.'EndRange')" | Out-Null }
Do not forget to leave a comment if you have any questions – Have a great Easter!
Thank you. Any possible to create up subnet boundaries base on dhcp scope by powershell? 🙂
I mean ip subnet. Auto correction is bad in phone.
[…] Allez voir son article parfaitement construit : ICI […]
[…] found the PS script for creating boundaries without much efforts from here. Big thanks to “Marius A. Skovli” !! But we struggled a bit to find a script for creating […]