This is a little tool I created for testing the required TCP ports on SCCM client systems. It will check that the required inbound ports are open and that the client can communicate to its management point, distribution point and software update point on the required ports. It also includes a custom port checker for testing any inbound or outbound port.
The default ports are taken from the Microsoft documentation, but these can be edited in the case that non-default ports are being used, or additional ports need to be tested.
The tool does not currently test UDP ports.
- Windows 8.1 + / Windows Server 2012 R2 +
- PowerShell 5
- .Net Framework 4.6.2 minimum
Download from the GitHub.
To use the tool, extract the ZIP file, right-click the ‘ConfigMgr Client TCP Port Tester.ps1′ and run with PowerShell.
Checking Inbound Ports
Select Local Ports in the drop-down box and click GO to test the required inbound ports.
Checking Outbound Ports
Select the destination in the drop-down box (ie management point, distribution point, software update point).
Enter the destination server name if not populated by the defaults and click GO. The tool will test ICMP connectivity first, then port connectivity.
Custom Port Checking
To test a custom port, select Custom Port Test from the drop-down box. Enter the port number, direction (ie Inbound or Outbound) and destination (Outbound only). Click Add to add the test to the grid. You can add several tests. Click GO.
Adding Default Servers
You can pre-populate server names by editing the Defaults.xml file found in the defaults directory. For example, to add a default management point:
<ConfigMgr_Port_Tester> <ServerDefaults> <ManagementPoint> <Value>SCCMMP01</Value> </ManagementPoint>
Editing / Adding Default Ports
You can also edit, add or remove the default ports in the Defaults.xml file. For example, to add port 5985 in the default local port list:
<PortDefaults> <LocalPorts> <Port Name="80" Purpose="HTTP Communication"/> <Port Name="443" Purpose="HTTPS Communication"/> <Port Name="445" Purpose="SMB"/> <Port Name="135" Purpose="Remote Assistance / Remote Desktop"/> <Port Name="2701" Purpose="Remote Control"/> <Port Name="3389" Purpose="Remote Assistance / Remote Desktop"/> <Port Name="5985" Purpose="WinRM"/> </LocalPorts>
Source code can be found in my GitHub repo.