Let’s try to Export List of SCCM Global Conditions using SQL Query and the Admin Console. You can export SCCM global condition details using either SQL query or Admin console. I recommend using the Admin console because that is the easiest method.
You can use SQL query and SSMS (SQL Server Management Studio) to export the list of SCCM global conditions to get more details. I don’t think using SQL query is the fully supported scenario. So this is just an option shown for educational purposes.
There are two types of Global Conditions, and those are custom and read-only. The Global Conditions are the set of rules created to check the business or technical conditions. These rules can specify how an application is provided and deployed to Windows 10 or Windows 11 devices.
You can create Custom Global Rules from the SCCM admin console. We already have a step-by-step guide to explain the process of the Custom Global Rule creation process. The following sections provide two options for the Export List of SCCM Global Conditions.
- Try 10 Fun Tricks for Command Prompt in Windows 11
- MS Paint Cocreator Feature Now Rolling Out
- Identify Cloud PC Connectivity Issues from Windows 365 Performance Report
- Enable Screen Saver for macOS using Intune
- 13 Hidden Tricks of Windows 11 Command Prompt
SQL Query Vs Admin Console
Let’s compare and understand which is the best method for you. I have created a table to make this decision easy. I prefer the SQL method if you need to get all those details for the SCCM Global Conditions.
You can export a list of SCCM global conditions using SQL and Console. If you use the export option from the console, you won’t get the heading of each column in the Global Conditions report.
If you want to have an end-to-end report or list of all the SCCM global conditions with headings, then better to use the SQL query method explained below. Depending on your requirement, you can use the following options to Export List of SCCM Global Conditions.
|Locale ID||Device Type|
|Condition In Use||CI Unique ID|
Export SCCM Global Conditions Details using Admin Console
Let’s check the option to export the list of SCCM Global Conditions using the admin console. You can skip over to the SQL query section if you want more details and the list of Global Conditions.
First, you need to select all the columns from the console Global Conditions node to get the full details during the export process. Follow the steps to select all the columns available. All these steps help you to Export List of SCCM Global Conditions.
- Navigate to \Software Library\Overview\Application Management\Global Conditions.
- Right-Click on any one of the column tab and select all the available columns as shown in the screenshot below.
You need to remember that CTRL + A to select all the Global Conditions from the list works fine in the ConfigMgr Admin console. You need to select the right pane in the console before pressing CRTL + A. You need to choose one SUG and use the up or down arrow to expand the selection of SUGs. Here is your opportunity to Export List of SCCM Global Conditions using the admin console.
- You need to select the right pane in the console before pressing CRTL + A.
- Select all objects by using CTRL + A button.
- Select All the conditions that you want to export.
- Press CTRL + C buttons on the keyboard to copy all the SCCM Global Conditions from the admin console to the clipboard.
NOTE! – CTRL + C won’t copy the column headings from the Global Conditions node to the clipboard. So you will need to type the headings manually, or you can use SQL query to get the heading as explained in the next section of the post.
The following table gives you the list of all the read-only SCCM Global Conditions with the description of each rule. There are 23 global conditions available as read-only. Let’s check Export List of SCCM Global Conditions.
|Name||Device Type||Type||Data Type||Read Only||In Use||CI Unique||Description|
|Active Directory site||Windows||Device||String||Yes||No||GLOBAL/ADSITE||Determines the Active Directory site of a Windows device.|
|Screen resolution||Mobile||Device||Integer||Yes||No||GLOBAL/Device_ScreenResolution||Determines the minimum screen resolution of a mobile device|
|Primary device||Windows||User||Boolean||Yes||No||GLOBAL/PrimaryDevice||Determines if the Windows device is a primary device of the logged-on user|
|Ownership||Windows||Device||String||Yes||No||GLOBAL/Device_OwnershipDesktop||Determines the ownership of a device|
|Ownership||Mobile||Device||String||Yes||No||GLOBAL/Device_OwnershipMobile||Determines the ownership of a device|
|Organizational unit (OU)||Windows||Device||String||Yes||No||GLOBAL/MACHINEOU||Determines the Active Directory organizational unit (OU) of a Windows device|
|Operating system language||Windows||Device||Integer||Yes||No||GLOBAL/OSLanguage||Determines the operating system language used by a Windows device|
|Operating system language||Mobile||Device||String||Yes||No||GLOBAL/Device_OSLanguage||Determines the operating system language used by a mobile device.|
|Operating system||Windows||Device||Operating System||Yes||Yes||GLOBAL/OperatingSystem||Determines the operating system used by a Windows device|
|Operating system||Mobile||Device||Operating System||Yes||No||GLOBAL/Device_OperatingSystem||Determines the operating system used by a mobile device|
|Number of processors||Windows||Device||Integer||Yes||No||GLOBAL/NumberOfProcessors||Determines the number of physical processors occupying a socket on a Windows device|
|Minimum operating system version||Mobile||Device||Version||Yes||No||GLOBAL/Device_MinOSVersion||Determines the minimum operating system version of a mobile device|
|Intune O365 ProPlus management||Windows||Device||Boolean||Yes||Yes||GLOBAL/Applicability_Settings_Device_IsO365IntuneManaged||Determines if Office 365 is managed by Intune on the device|
|Input type||Mobile||Device||Boolean||Yes||No||GLOBAL/Device_TouchType||Determines whether the mobile device uses a touch screen for input|
|Disk space||Windows||Device||Integer||Yes||No||GLOBAL/FreeDiskSpace||Determines the free disk space on a Windows device|
|Device type||Windows Mobile||Device||String||Yes||No||GLOBAL/WM_Platform||Determines the mobile device family type|
|CPU speed||Windows||Device||Integer||Yes||No||GLOBAL/CPUSpeed||Determines the processor speed of a Windows device.|
|Configuration Manager site||Windows||Device||String||Yes||No||GLOBAL/SCCMSITE||Determines the assigned Configuration Manager site of a Windows device|
|Co-managed device||Windows||Device||Boolean||Yes||No||GLOBAL/Applicability_Settings_Device_IsComanaged||Determines if the device is Co-managed with Intune and SCCM|
|Available internal storage||Mobile||Device||Floating point||Yes||No||GLOBAL/Device_FreePhoneMemory||Determines the free storage of a mobile device.|
|Total physical memory||Windows||Device||Integer||Yes||No||GLOBAL/TotalPhysicalMemory||Determines the total physical memory of a Windows device|
|Windows Store Global Condition||Windows||Device||Integer||Yes||No||GLOBAL/WindowsStoreEnabled||Windows Store Global Condition|
SQL Query to Export the List of SCCM Global Conditions
You can use the following SQL query from SSMS to export the list of SCCM Global Conditions. The SQL query gives you extra details, as explained in the above section of this post. Let’s check how to Export List of SCCM Global Conditions using SQL query.
NOTE! – You have to test the following query in a LAB or STAGING environment before trying it out in a production environment. The purpose of this query is only for the educational scenarios.
I don’t think Microsoft support using SQL functions in the custom SQL query of Custom SCCM reports. So this post is just for educational purposes. This is the way to Export List of SCCM Global Conditions.
- Open the SQL Server Management Studio (aka SSMS).
- Connect your Database Engine.
- Right Click on your database CM_XXX and click on ‘New Query’
- Copy the following SQL query to find the report All Global Conditions.
- Click on the Execute button.
select all SMS_GlobalCondition.CI_ID,SMS_GlobalCondition.LocaleID,SMS_GlobalCondition.DataType,SMS_GlobalCondition.SourceSite,SMS_GlobalCondition.GlobalConditionType,SMS_GlobalCondition.ConditionInUse,SMS_GlobalCondition.IsReadOnly,SMS_GlobalCondition.DisplayName,SMS_GlobalCondition.Description,SMS_GlobalCondition.CI_ID,SMS_GlobalCondition.CI_UniqueID,SMS_GlobalCondition.PlatformType,SMS_GlobalCondition.ModelName from fn_ListGlobalConditions_List(1033) AS SMS_GlobalCondition
Depending on the DB size and the performance, the SQL query might take time to display results. In my lab environment, it took 00:00:00 time (I don’t know what does that even mean).
The results are displayed in the format below. These are the global condition rules available in the SCCM environment (including both custom and read-only conditions).
This is the way to Export List of SCCM Global Conditions from SQL Server Management Studio.
- Right click on the any one of the Columns from the Result pane on SSMS.
- Click on Select All option to select all the columns and rows.
- Click on Copy with Headers option to copy all the columns and rows with heading to clipboard.
- Or The BEST option – You can use Save Results As option to save the result as CSV file.
The following is the trimmed version of the SQL report. I have deleted some of the rows and columns from the below table so that they can fit on this page. The following tables give you Export List of SCCM Global Conditions.
|Data Type||Display Name||Description||CI_UniqueID||Model Name|
|OperatingSystem||Operating system||Determines the operating system used by a Windows device||GLOBAL/OperatingSystem||GLOBAL/OperatingSystem|
|Int64||Total physical memory||Determines the total physical memory of a Windows device||GLOBAL/TotalPhysicalMemory||GLOBAL/TotalPhysicalMemory|
|String||Ownership||Determines the ownership of a device||GLOBAL/Device_OwnershipDesktop||GLOBAL/Device_OwnershipDesktop|
|Int64||Number of processors||Determines the number of physical processors occupying a socket on a Windows device||GLOBAL/NumberOfProcessors||GLOBAL/NumberOfProcessors|
|Int64||Operating system language||Determines the operating system language used by a Windows device||GLOBAL/OSLanguage||GLOBAL/OSLanguage|
|Int64||CPU speed||Determines the processor speed of a Windows device.||GLOBAL/CPUSpeed||GLOBAL/CPUSpeed|
|String||Organizational unit (OU)||Determines the Active Directory organizational unit (OU) of a Windows device||GLOBAL/MACHINEOU||GLOBAL/MachineOU|
|String||Active Directory site||Determines the Active Directory site of a Windows device.||GLOBAL/ADSITE||GLOBAL/ADSite|
|String||Configuration Manager site||Determines the assigned Configuration Manager site of a Windows device||GLOBAL/SCCMSITE||GLOBAL/SCCMSite|
|Boolean||Primary device||Determines if the Windows device is a primary device of the logged-on user. Export List of SCCM Global Conditions.||GLOBAL/PrimaryDevice||GLOBAL/PrimaryDevice|
|Int64||Disk space||Determines the free disk space on a Windows device||GLOBAL/FreeDiskSpace||GLOBAL/FreeDiskSpace|
|String||OS Build Number||OS Build Number||GLOBAL/Platform_Settings||GLOBAL/Platform_Settings|
|Int64||Windows Store Global Condition||Windows Store Global Condition||GLOBAL/WindowsStoreEnabled||GLOBAL/WindowsStoreEnabled|
|Boolean||Co-managed device||Determines if the device is Co-managed with Intune and SCCM||GLOBAL/Applicability_Settings_Device_IsComanaged||GLOBAL/Applicability_Settings_Device_IsComanaged|
|Boolean||Intune O365 ProPlus management||Determines if Office 365 is managed by Intune on the device||GLOBAL/Applicability_Settings_Device_IsO365IntuneManaged||GLOBAL/Applicability_Settings_Device_IsO365IntuneManaged|
|String||OS Version||OS Version||GLOBAL/WM_OSVersion||GLOBAL/WM_OSVersion|
|String||OS Version||OS Version||GLOBAL/Symbian_OSVersion||GLOBAL/Symbian_OSVersion|
|String||OS Version||OS Version||GLOBAL/DevicePlatformSettings||GLOBAL/DevicePlatformSettings|
|Double||Available internal storage||Determines the free storage of a mobile device.||GLOBAL/Device_FreePhoneMemory||GLOBAL/Device_FreePhoneMemory|
|Int64||Minimum API Level||Determines the minimum API Level of a mobile device||GLOBAL/Device_MinAPILevel||GLOBAL/Device_MinAPILevel|
|Version||Minimum operating system version||Determines the minimum operating system version of a mobile device||GLOBAL/Device_MinOSVersion||GLOBAL/Device_MinOSVersion|
|String||Ownership||Determines the ownership of a device||GLOBAL/Device_OwnershipMobile||GLOBAL/Device_OwnershipMobile|
|String||Operating system language||Determines the operating system language used by a mobile device.||GLOBAL/Device_OSLanguage||GLOBAL/Device_OSLanguage|
|String||Device type||Determines the mobile device family type||GLOBAL/WM_Platform||GLOBAL/WM_Platform|
|OperatingSystem||Operating system||Determines the operating system used by a mobile device||GLOBAL/Device_OperatingSystem||GLOBAL/Device_OperatingSystem|
|Boolean||Input type||Determines whether the mobile device uses a touch screen for input||GLOBAL/Device_TouchType||GLOBAL/Device_TouchType|
|Int64||Screen resolution||Determines the minimum screen resolution of a mobile device||GLOBAL/Device_ScreenResolution||GLOBAL/Device_ScreenResolution|
Anoop C Nair is Microsoft MVP! He is a Device Management Admin with more than 20 years of experience (calculation done in 2021) in IT. He is Blogger, Speaker, and Local User Group HTMD Community leader. His main focus is on Device Management technologies like SCCM 2012, Current Branch, and Intune. He writes about ConfigMgr, Windows 11, Windows 10, Azure AD, Microsoft Intune, Windows 365, AVD, etc.