Close Menu
    Facebook X (Twitter) Instagram
    Trending
    • Workplace Ninja User Group Denmark – April 2026 Meetup
    • Workplace Ninja User Group Denmark March 2026 Meetup
    • Workplace Ninja User Group Denmark February 2026 Meetup
    • Successful Adoption of a “Cloud First” Strategy
    • Speaking at Nordic Virtual Summit
    • Workplace Ninja User Group Denmark February Meetup
    • Workplace Ninja User Group Denmark Meetup – May 2022
    • Workplace Ninja User Group Denmark Meetup – April 2022
    RONNIPEDERSEN.COM
    • Home
    • Enterprise Mobility
      • Configuration Manager
      • Identity and Access
      • Information Protection
      • Intune
    • Cloud and Data Center
      • Data Center Management
      • Group Policy
      • Enterprise Security
      • Hyper-V
      • PowerShell
    • Guides
    • Webcasts
    • Links
    • About
      • Contact me
      • Disclaimer
    RONNIPEDERSEN.COM
    You are at:Home»Uncategorized»SCCM 2012: Standard Requirement Rules vs. Global Expressions

    SCCM 2012: Standard Requirement Rules vs. Global Expressions

    4
    By Ronni Pedersen on May 21, 2013 Uncategorized

    Why this post?

    I often get questions on requirement rules and global expressions, so I thought I’d make a blog post to explain some of the things you might need to consider, before you choose what strategy and method you want use, and also what kind of reporting you need.

    Introduction

    When deploying applications in System Center 2012 Configuration Manager (SCCM 2012), requirement rules are often used to determine what deployment type are to be used in the current scenario. But even if the application only have a single deployment type, I still recommend to use requirement rules to reduce the risk of deployment failure. An example could be if a new client OS hasn’t been tested yet, or the lack of resources like disk space or memory.

    All applications has their own specific requirements, but most likely you can easy define a minimum requirement that defines a standard for what you test all company applications on. This will help you to reduce the risk of blowing up a client, and make the user unhappy.

    Normally I recommend customers to create a baseline for all common deployment scenarios. For example one for Servers and one for Workstations.

    Standard Workstation (example)

    • Free disk space: At least 500 MB
    • Memory: At least 2048 MB
    • Operating System: Windows 7 OR Windows 8

    Standard Server (example)

    • Free disk space: At least 2000 MB
    • Memory: At least 2048 MB
    • Operating System: Windows Server 2008 R2 OR Windows Server 2012

    These requirement rules can be added to the deployment type directly, or we could create a new global expression. A global expression contains a logical grouping of different global conditions and their values, so you can add the global expression as a requirement rule without having to remember the baseline every time you create a new application or deployment type.

    Another great thing about global expressions is, that you can change the value on multiple applications, just by editing the global expression. So when you decide that Windows 8 is now supported, you just add Windows 8 to the global expression.

    But what if my application have a more restrict requirement to one of the values? Like a requirement for more disk space?

    If you add more requirement rules they are “AND” rules, so all requirements must be compliant. So a requirement rule for the “Standard Workstation” with 500 MB and another requirement for disk space greater than 2000 MB, will both be valid (assuming the client has +2000 MB free disk space), but it will fail if we only 1500 MB free.

    Monitoring/Reporting

    But when it comes to monitoring the deployment where status are “Requirement not meet”, the result view in the console is not the same, so you have to decide what’s most important for you and your business.

    In the two following examples I’ve deployed the same application/deployment type to a client. In the first example I’ve used standard requirement rules, and the second example I’ve created a global expression with the same value.

    Example 1: A Deployment Type with 2 requirement rules

    The first one will be not compliant (red arrow), and the second one will be compliant (green arrow).

    clip_image001

    When I deploy this application to my test client (my site server), I see the following result in the console:

    clip_image003

    As you can see it’s easy to identify why this client don’t meet the requirements.

    Example 2: Same Deployment Type with a single global expression

    First we need to create the global expression.

    clip_image004

    And then change the requirement of the existing deployment type to use the newly created global expression:

    clip_image005

    After updating the status (this can be done by running the “Application Deployment Evaluation Cycle” on the client, we now see the following result:

    clip_image007

    But we only see the summarized value of the global expression, and we still need to figure out what value is causing this application to be ”not compliant”.

    If we then select the device, and click more details, we’ll get the following result:

    clip_image008

    As we can see, we get the result of all settings that was evaluated, but there is no indication of which of the settings is the problem.

    In most scenarios you would know what the result should be, but I’d like to see the problem identified here, and hopefully it’ll be fixed in some future release of the product.

    Summary

    What method should we use then?

    It depends… On your requirements and what kind of “in-console” reporting you need. There is no “one-size-fits-all”, but everyone should be able to find a way, that supports that fits their needs.

    Enjoy.

    +Ronni Pedersen

    • Tweet
    • Share 0
    • +1
    • LinkedIn 0

    Related

    Ronni Pedersen
    • Website
    • Facebook
    • X (Twitter)
    • LinkedIn

    My name is Ronni Pedersen and I'm currently working as a Cloud Architect at APENTO in Denmark. My primary focus is Enterprise Client Management solutions, based on technologies like AzureAD, Intune, EMS and System Center Configuration Manager. I'm is also a Microsoft Certified Trainer and Microsoft MVP in Enterprise Mobility.

    Related Posts

    Successful Adoption of a “Cloud First” Strategy

    Workplace Ninja User Group Denmark Meetup – May 2022

    Creating Collections for CU Updates using PowerShell

    4 Comments

    1. Divakar Tandon on May 21, 2013 18:44

      Only one word

      Superb!!!!!!!!!!!!!!!!!

      Reply
    2. Pingback: SCCM 2012: Standard Requirement Rules vs. Global Expressions | sccm road

    3. Pingback: SCCM 2012 | Online guide for "software distribution" | Fair Technologies

    4. Pingback: RONNIPEDERSEN.COM Links from MS-10474D Class - RONNIPEDERSEN.COM

    Leave A Reply Cancel Reply

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    Follow
    APENTO

    Follow APENTO here:

    Subscribe to Blog via Email

    Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    About
    My name i s Ronni Pedersen and I'm currently working as a Cloud Architect at APENTO in Denmark. My primary focus is Endpoint Management and Security, based on Microsoft technologies. I'm also a Microsoft Certified Trainer and a dual Microsoft MVP in both Security and Windows.
    Recent Posts
    • Workplace Ninja User Group Denmark – April 2026 Meetup
    • Workplace Ninja User Group Denmark March 2026 Meetup
    • Workplace Ninja User Group Denmark February 2026 Meetup
    • Successful Adoption of a “Cloud First” Strategy
    • Speaking at Nordic Virtual Summit
    Archives
    TOP POSTS
    • SCCM 2012: How does Automatic Client Upgrade work?
    • Installing SCCM 2012 SP2/R2 SP1 – Quick Start Guide
    • Microsoft Security Essentials available FREE to Small Businesses
    • Configuration Manager 2007 Service Pack 1 released
    • Microsoft Deployment Toolkit 2010 Update 1 vs. Modena
    RECENT COMMENTS
    • cOSHi on Missing “UserType” attribute in Azure AD
    • Gus on Pro Tip: Use Ctrl+Alt+D from the Azure Portal to get performance information
    • Sebi on Prepare for Co-Management: Migrate Intune Devices without user affinity
    • Vadim P on SCCM: Failed to Get Client Identity (80004005)
    • TM on Active Directory Based Activation in an multi domain environment
    DISCLAIMER
    The content on this website is presented "as-is" with no guarantees. The use of scripts from this website is at your own risk. Always test before putting something in production! Opinions expressed are my own.
    © 2026 ThemeSphere. Designed by ThemeSphere.

    Type above and press Enter to search. Press Esc to cancel.