Menu
Modern Workplace Blog
  • Home
  • About: Kenneth van Surksum
  • Cookie Policy
Modern Workplace Blog
January 11, 2014January 11, 2014

Configuring Group Policies for your ConfigMgr Servers

Disclaimer: Please test and validate this in your test environment, don’t take the information i provide for granted. This article describes a method to determine correct settings and doesn’t supply the answer to your specific environment !

When you are installing System Center Configuration Manager (ConfigMgr) in environments where group policies are used to control the User Rights Assignment and Security Options security settings of the Servers, you have to be extra carefull.

You can expect some strange behavior after the installation because when the companies policy is applied again, it removes some entries made by either the prerequisite installation (roles and features) and installation of ConfigMgr itself, and this can result in some interesting scenario’s. Therefore my advise would be:

If you know the environment in which you are going to install ConfigMgr in, has a lot of restricing group policies make sure you do the installation of ConfigMgr while the servers are member of an OU with minimal policies applied.

After you have done the installation, you can then profile the different types of ConfigMgr server roles (Primary Site, CAS, Distribution Point, Management Point etc..) and define one or several so called "delta policies" which contain the settings needed by ConfigMgr

How to determine the necessary Policy Settings:

In order to determine the correct settings, its best to build ConfigMgr in a test environment, where the servers are isolated from Group Policies when you are installing them. Start with detailing the configuration of the Security Settings of the machine in the state which you received it, or just after you installed the machine yourself. This can be easily done by exporting the User Rights Assigment and the Security Options settings using the Export List… options when you rights click the User Rights Assignment or Security Options node. Save the output, and make sure you detail the fact that this settings reflect your start position.

The Second step should be that you configure the requirements needed on the Server in order to be able to install Configuration Manager, like IIS, WSUS etc..) and perform the installation. When finished repeat the same procedure and make sure you name the output files to reflect the post ConfigMgr installation state.

There are probably more ways to achieve this goal, but this works with out of the box functionality. Next I used WinDiff (still available in the Windows Server 2003 Service Pack 1 32-bit Support Tools, grab it while you can) to show me the difference between the two text files:

clip_image001

The outcome of my investigation, which is the difference between the first and the last output saved, resulted in the following settings:

User Rights Assignment:

Adjust Memory Quotas for a process: Add NT SERVICE\SQLSERVERAGENT,NT SERVICE\MSSQLSERVER,IIS APPPOOL\Classic .NET AppPool,IIS APPPOOL\.NET v4.5,IIS APPPOOL\DefaultAppPool,IIS APPPOOL

Bypass traverse checking: Add NT SERVICE\SQLSERVERAGENT,NT SERVICE\MSSQLSERVER

Generate security audits: Add LOCAL SERVICE,NETWORK SERVICE,IIS APPPOOL\Classic .NET AppPool,IIS APPPOOL\.NET v4.5,IIS APPPOOL\DefaultAppPool,IIS APPPOOL\.NET v2.0,IIS APPPOOL\.NET v4.5 Classic,IIS APPPOOL\.NET v2.0 Classic

Impersonate a client after authentication: Add IIS_IUSRS

Log on as a batch job: Add IIS_IUSRS

Log on as a service: Add SYSTEM,SQLServer2005SQLBrowserUser$CM01,NT SERVICE\ALL SERVICES,NT SERVICE\SQLSERVERAGENT,NT SERVICE\MSSQLSERVER,IIS APPPOOL\Classic .NET AppPool,IIS APPPOOL\.NET v4.5,IIS APPPOOL\DefaultAppPool,IIS APPPOOL\.NET v2.0,IIS APPPOOL\.NET v4.5 Classic,IIS APPPOOL\.NET v2.0 Classic

Replace a process level token: Add NT SERVICE\SQLSERVERAGENT,NT SERVICE\MSSQLSERVER,IIS APPPOOL\Classic .NET AppPool,IIS APPPOOL\.NET v4.5,IIS APPPOOL\DefaultAppPool,IIS APPPOOL\.NET v2.0,IIS APPPOOL\.NET v4.5 Classic,IIS APPPOOL\.NET v2.0 Classic

Security Options:

Network access: Remotely accessible registry paths and sub-paths: Add Software\Microsoft\SMS

Caution: Keep in mind, that when you configure a so called Delta Policy for your ConfigMgr servers – which only contain the settings needed for that type of machine, you have to provide the default settings plus the above settings in the policy in order for the setting to be applied successfully. Also make sure not just to copy the settings from me above but create your own pre and post export of the User Rights Assignment and Security Options settings.

The Caveat (without it it wouldn’t be fun…)

As always, when implementing these settings you run into some other "Challenges", in my case it was because of the fact that the IIS Classic .NET AppPool and DefaultAppPool accounts weren’t added successfully to the registry after applying the newly configured policy, in an AD environment running Windows Server 2008. When you run a GPResult /H Report.html the report details that the settings are successfully applied, but when opening the local policy editor (Gpedit.msc) or the Resultant Set of Policy tool (RSOP.msc) when troubleshooting further you will notice that the settings are not applied.

clip_image002

The fact that the settings are not applied is also logged in the Application event log and searching for eventid 1202, resulting in the following error:

clip_image003

You can also see how Group Policies are applied by looking at the winlogon.log file created in the %windir%\security\logs\ folder during logon.

Configuring SeImpersonatePrivilege for this account is not supported.

Configure Classic .NET AppPool.

Error 1332: No mapping between account names and security IDs was done.

After this, then Google or you other favorite search engine is your friend, eventually resulting in finding the following KB article 977695: http://support.microsoft.com/kb/977695

The KB Article describes that when the Group Policy Management Editor changes settings under User Rights Assignment, it translates per-Service SIDs to service names, it does not add the NT Service or IIS AppPool prefix when doing so though, resulting in the behavior that only the supplied name in the Group Policy Management Editor (for example Classic .NET AppPool) is written to the GptTmpl.inf file while this should be IIS AppPool\Classic .NET AppPool instead.

The KB Article provides two solutions, by either requesting a hotfix to fix the Group Policy Management Editor, or by manually editing the GptTmpl.inf file. I decided to just the last option to edit the GptTmpl.inf file directly (search for the GUID of the Policy, and locate the correct .inf file)

[Privilege Rights]

SeIncreaseQuotaPrivilege = LOCAL SERVICE,NETWORK SERVICE,Administrators,NT SERVICE\SQLSERVERAGENT,NT SERVICE\MSSQLSERVER,IIS APPPOOL\Classic .NET AppPool,IIS APPPOOL\.NET v4.5,IIS APPPOOL\DefaultAppPool,IIS APPPOOL\.NET v2.0,IIS APPPOOL\.NET v4.5 Classic,IIS APPPOOL\.NET v2.0 Classic

SeAuditPrivilege = LOCAL SERVICE,NETWORK SERVICE,IIS APPPOOL\Classic .NET AppPool,IIS APPPOOL\.NET v4.5,IIS APPPOOL\DefaultAppPool,IIS APPPOOL\.NET v2.0,IIS APPPOOL\.NET v4.5 Classic,IIS APPPOOL\.NET v2.0 Classic

SeBatchLogonRight = Administrators,Backup Operators,Performance Log Users,IIS_IUSRS

SeServiceLogonRight = IIS AppPool\Classic .NET AppPool,IIS AppPool\DefaultAppPool

SeAssignPrimaryTokenPrivilege = SYSTEM,SQLServer2005SQLBrowserUser$CM01,NT SERVICE\ALL SERVICES,NT SERVICE\SQLSERVERAGENT,NT SERVICE\MSSQLSERVER,IIS APPPOOL\Classic .NET AppPool,IIS APPPOOL\.NET v4.5,IIS APPPOOL\DefaultAppPool,IIS APPPOOL\.NET v2.0,IIS APPPOOL\.NET v4.5 Classic,IIS APPPOOL\.NET v2.0 Classic

SeImpersonatePrivilege = LOCAL SERVICE,NETWORK SERVICE,NT SERVICE\SQLSERVERAGENT,NT SERVICE\MSSQLSERVER,IIS APPPOOL\Classic .NET AppPool,IIS APPPOOL\.NET v4.5,IIS APPPOOL\DefaultAppPool,IIS APPPOOL\.NET v2.0,IIS APPPOOL\.NET v4.5 Classic,IIS APPPOOL\.NET v2.0 Classic

After modifying the GptTmpl.inf file and running a GPUpdate /force, i was able to check a Resultant Set of Policy, which gave the expected result.

I did a check if the same issue would occur in my own home lab, but while defining the same settings on my Windows Server 2012 R2 policy while adding the necessary groups I encountered a another issue. I was not able to add groups containing a \ in the definition resulting in the following error:

clip_image004

So, also here i modified the GptTmpl.inf file adding the groups directly. Resulting in a working policy applying the necessary settings.

Hope this helps.

Tweet
Follow me
Tweet #WPNinjasNL

Continue Reading

← Now available: System Center 2012 Configuration Manager Unleashed
Microsoft deprecates Conditional Access baseline policies in favour of Security Defaults, here is what you need to know and do →

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

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

Founding member of:

Recent Posts

  • MAM vs. MDM: Choosing the Right Mobile Management Approach
  • Comparing Web Filtering and Security: Microsoft Entra Internet Access (Global Secure Access) vs. Microsoft Defender for Endpoint (MDE)
  • Navigating New Authentication Methods: SMS for Password Reset, Not for MFA
  • From SPF to DANE: Securing Microsoft 365 Email Communications
  • Protecting your Break Glass accounts in Entra now that MFA gets enforced on more and more Admin portals

Books

System Center 2012 Service Manager Unleashed
Amazon
System Center 2012 R2 Configuration Manager Unleashed: Supplement to System Center 2012 Configuration Manager
Amazon
System Center Configuration Manager Current Branch Unleashed
Amazon
Mastering Windows 7 Deployment
Amazon
System Center 2012 Configuration Manager (SCCM) Unleashed
Amazon

Archives

  • February 2025
  • January 2025
  • September 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • September 2023
  • August 2023
  • February 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • May 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • August 2019
  • July 2019
  • November 2016
  • November 2015
  • June 2015
  • May 2015
  • November 2014
  • July 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • November 2013
  • August 2013
  • April 2013
  • March 2013
  • January 2013
  • December 2012
  • November 2012
  • August 2012
  • July 2012
  • June 2012

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

Categories

  • ABM (4)
  • Advanced Threat Protection (4)
  • Announcement (44)
  • Azure (3)
  • AzureAD (73)
  • Certification (2)
  • Cloud App Security (5)
  • Conditional Access (58)
  • Configuration Manager (24)
  • Entra (2)
  • Entra Id (8)
  • Events (14)
  • Exchange Online (9)
  • Identity Protection (5)
  • Intune (27)
  • Licensing (2)
  • Microsoft Defender (1)
  • Microsoft Defender for Endpoint (1)
  • Microsoft Endpoint Manager (35)
  • Mobile Application Management (4)
  • Modern Workplace (74)
  • Office 365 (10)
  • Overview (11)
  • Power Platform (1)
  • PowerShell (2)
  • Presentations (9)
  • Privileged Identity Management (5)
  • Role Based Access Control (2)
  • Security (63)
  • Service Manager (4)
  • Speaking (30)
  • Troubleshooting (4)
  • Uncategorized (11)
  • Windows 10 (15)
  • Windows 11 (5)
  • Windows Update for Business (4)
  • WMUG.nl (16)
  • WPNinjasNL (32)

Tags

#ABM #AzureAD #community #conditionalaccess #ConfigMgr #IAM #Intune #m365 #MEM #MEMCM #microsoft365 #modernworkplace #office365 #security #webinar #wmug_nl ATP authentication strength AzureAD Branding Community Conditional Access ConfigMgr ConfigMgr 2012 Email EXO Identity Intune Licensing M365 MCAS MFA Modern Workplace Office 365 OSD PIM Policy Sets Presentation RBAC roles Security System Center Task Sequence troubleshooting webinar

Recent Comments

  • brc on Protecting your Break Glass accounts in Entra now that MFA gets enforced on more and more Admin portals
  • [m365weekly] #186 – M365 Weekly Newsletter on MAM vs. MDM: Choosing the Right Mobile Management Approach
  • Dean Gross on Comparing Web Filtering and Security: Microsoft Entra Internet Access (Global Secure Access) vs. Microsoft Defender for Endpoint (MDE)
  • nikhil tech on Protecting your Break Glass accounts in Entra now that MFA gets enforced on more and more Admin portals
  • Kenneth on Comparing Web Filtering and Security: Microsoft Entra Internet Access (Global Secure Access) vs. Microsoft Defender for Endpoint (MDE)

This information is provided “AS IS” with no warranties, confers no rights and is not supported by the author.

Copyright © 2021 by Kenneth van Surksum. All rights reserved. No part of the information on this web site may be reproduced or posted in any form or by any means without the prior written permission of the publisher.

Shorthand: Don’t pass off my work as yours, it’s not nice.

©2025 Modern Workplace Blog | Powered by WordPress and Superb Themes!
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Cookie settingsACCEPT
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT