Easily Find Dot Net Version using SCCM CMPivot Query
Did you know that you can find Dot Net version using SCCM CMPivot query? Let me show you how to check Dot NET Framework version details using CMPivot query in SCCM.
There are different ways to find dot net version details and release value on a computer. For example, you can use a PowerShell command to quickly find the DotNet version on any given computer. If you know the correct .NET framework version installed on the computer, it becomes easy to install the latest version.
When you have multiple computers running either Windows 10/ Windows11, the CMPivot query in SCCM makes it easy to find the Dot Net version on all the clients. A computer can be running multiple versions of .NET framework and all the version details can be collected using CMPivot query.
Read: How to find installed software using CMPivot query
Before you begin to find the .NET framework versions on computers, it is important to upgrade the .NET Framework version to 4.8 on all the SCCM servers. This will be new normal if you are going to use SCCM version 2107 and above.
With the release of SCCM 2111, Microsoft added a new prerequisite check for .NET version 4.8. If the .NET version 4.8 is not installed on the servers, the warning appears during the SCCM 2107 prerequisite check. Refer to the following article to understand why you see the .NET 4.8 prerequisite check warning and how to fix SCCM Dot NET 4.8 Prerequisite Warning.
There is a specific .Net Version requirement for Windows 10 devices installed with ConfigMgr Client and console. The Configuration Manager 2111 and above requires at least .NET version 4.6.2 but recommends the latest version .NET Framework 4.8.
Read: Find Windows 11 Version Details using CMPivot
Why should you use CMPivot to Query .NET Framework Versions
The CMPivot feature is a very useful feature in Configuration Manager. CMPivot allows you to quickly assess the state of devices in your environment and take suitable action.
When you enter a SCCM CMPivot Dot Net query, the CMPivot will run a query in real time on all currently connected devices in the selected collection and finds the dot net version. You can learn about CMPivot basics from Microsoft CMPivot documentation.
The CMPivot makes it super easy to query the .NET versions on the computers managed by SCCM. In addition, CMPivot query returns the results quicker than SCCM reports. The results provided by SCCM CMPivot query are very accurate and hence you can use it to find the dot net version details.
You can find all the installed versions of .NET framework on multiple computers using CMPivot Dot NET query. If any of the client computers are running a lower version of .NET framework, CMPivot query will find those computers. This will help admins to deploy the required .NET framework using ConfigMgr and maintain a common Dot Net framework version on all computers.
Must Read: How to use CMPivot Query to find TPM Status and Details
Check Dot NET Version details using PowerShell
Run the below PowerShell command to check the Dot NET Versions on the computer. You can use the same PowerShell script to check net version on multiple servers.
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | Get-ItemProperty -Name version -EA 0 | Where { $_.PSChildName -Match '^(?!S)\p{L}'} | Select PSChildName, version
Check Dot Net Framework Version Details in Registry
To find the Dot NET version and details using Registry:
- From the Start menu, choose Run, enter regedit, and then select OK.
- In the Registry Editor, open the following subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full.
- If the Full subkey isn’t present, then you don’t have .NET Framework 4.5 or later installed.
- Check for a REG_DWORD entry named Release. If it exists, then you have .NET Framework 4.5 or later installed. Its value corresponds to a particular version of .NET Framework.
The CMPivot query that we are going to use will determine the Dot Net framework version of SCCM clients by reading the registry. According to Microsoft, the minimum required version of Dot Net for SCCM 2111 is 4.6.2, but the recommended version is .NET 4.8. CMPivot query can help us find out the computers that are running .NET framework 4.6.2 version.
For example, the below registry path contains the information about all the Dot Net framework versions and details installed on a computer. To determine the .NET framework version, enter the below path in the registry editor. You can see all the .NET framework versions installed on the computer.
HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP
If you select any specific version of Dot Net framework, for example, .NET version v4, you will find the Release version, Target version and version details in registry.
Find Dot NET Version using Release Number
The following table lists all the .NET Versions along with release numbers. This table will come handy when you want to find DotNet version using CMPivot query.
DotNET Framework Version | Release Number |
---|---|
.NET Framework 4.8 | 528040, 528372, 528449, 528049 |
.NET Framework 4.7.2 | 461808, 461814 |
.NET Framework 4.7.1 | 461308, 461310 |
.NET Framework 4.7 | 460798 |
.NET Framework 4.6.2 | 394802 |
.NET Framework 4.6 | 393295, 393297 |
.NET Framework 4.5 | 378389 |
Find Dot Net Version using SCCM CMPivot Query
Let’s look at the steps to find Dot Net version using SCCM CMPivot query. First launch the CMPivot query tool using the following steps.
- Click Start and launch the SCCM console.
- Navigate to Assets and Compliance > Overview > Device Collections.
- Right-click a device collection and select Start CMPivot.
Find Devices with Dot Net 4.8 or higher version
The SCCM CMPivot query can also help you find computers installed with Dot Net 4.8 or higher versions. In the CMPivot window, select Query tab. Run the following CMPivot query to check the computers installed with Dot Net version 4.8 or higher. The release value 528040 = .NET Framework 4.8.
Registry('HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full')| where Property == 'Release' and Value > '528040'
The above SCCM CMPivot Dot NET query will return all the computers that are installed with Dot Net version 4.8 or higher. In the CMPivot query output, take a look at the “Value” field which indicates the installed Dot Net framework version on individual computers.
In the below example, based on the output that we see, almost all the computers are running .NET framework 4.8 version.
Find Devices with Dot Net 4.6 version
Similarly, you can run the following CMPivot query to check if Dot Net version 4.6.2 is installed on computers managed by SCCM. The release value 394802 = .NET Framework 4.6.2.
Registry('HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full')| where Property == 'Release' and Value < '394802'
If the query returns no results, it means that all the computers are running a higher version of .NET framework 4.6.2 and above. You must also ensure the client computers are online while running the CMPivot query.
Read: Query Registry value using SCCM CMPivot query
CMPivot Query to Display Count of DotNet Versions as Bar Chart
You can run a simple CMPivot query to display all the DotNet version in the form of bar chart. Run the below CMPivot query to display all DotNet versions installed on computers managed by SCCM.
Registry('hklm:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full')
| where Property == 'Version'
| summarize count() by Value | render barchart
Find installed .NET Framework version for multiple devices
You can run a simple CMPivot query to find the installed .NET Framework version on multiple computers. In the Configuration Manager console, select a device collection and in the top menu select Start CMPivot. In the CMPivot query window, paste the below query to check the .NET Framework version for multiple devices.
Registry('HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full') | where Property == 'Version' | project Device, NetFrameworkVersion=Value | order by Device asc
I sincerely hope that this article will assist you in determining the Dot NET version using an SCCM CMPivot query. Please let me know in the comments section below if there is anything I can clarify or if you have any ideas.
Is there a way to create a query to check .net framework version? I’m planning to create a collection so I can update machines that are running older versions to 4.8.