Home > Windows Server Tips > Active Directory Administration > Userenv and GPE logging: A great tool for debugging Group Policy Extensions
Windows Server Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

ACTIVE DIRECTORY ADMINISTRATION

Userenv and GPE logging: A great tool for debugging Group Policy Extensions


Gary Olsen, Contributor
04.03.2007
Rating: -3.50- (out of 5)


Expert advice on Active Directory and Group Policy
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


In Debugging user profile and GPO problems with Userenv logs, we reviewed the basics of the Userenv.log file and how it can be used to diagnose issues in Group Policy. The Userenv.log, which contains details about user profiles and Group Policy Object (GPO) processing, resides in %SystemRoot%\debug\usermode and is generated automatically by the Winlogon process.

The log is fairly easy to read, and there are some important points to be aware of when using it, including:


One thing that was not discussed in the previous article involves the processing of Group Policy Extensions (GPEs). GPEs are add-ons to Group Policy and act somewhat independently, even though they appear to be an integral part of a GPO. The following table identifies the extensions as well as their associated DLL.

[TABLE]

In Figure 1, the extensions and related information (such as the DLLs listed here) are exposed in the registry under the Winlogon key at: Figure 1
[IMAGE]

Note that they are stored under key names corresponding to the GUID of the GPE. Just as the Default Domain Policy and Default Domain Controllers Policy have GUIDs that are the same on every Active Directory installation, the GPE GUIDs are likewise common in all installations. To resolve these GUIDs to a friendly name, simply click on one of the GPE folders and look at the values exposed in the right-hand pane. In Figure 1, the folder we clicked on is the Scripts folder. In the right pane, the top value (Default) shows "Scripts," and the DLL Name is gptext.dll. The DLL Name is important as you will see later.

At startup and user logon, Group Policy Extensions are processed in the following order: Troubleshooting Group Policy Extension problems

Troubleshooting GPEs is a bit tricky because you have to think of them as an "extension" to the policy as opposed to the policy itself. For


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


RELATED CONTENT
Microsoft Group Policy Management
Using Active Directory to manage Macs in a Windows environment
Group Policy Object modeling simplifies network security
Microsoft Group Policy Tutorial
Is a Group Policy setting changing my user rights?
Mastering account lockout values in Group Policy
Group Policy Object security in Windows
Deny access to Windows system properties with GPOs
Advanced Group Policy for Windows Vista
Windows Server 2008's Group Policy has faster searching and filtering
Why don't I have proper Windows Server 2003 rights to open a GPO?

Microsoft Active Directory Tools and Troubleshooting
Troubleshooting poor Windows logon performance in Active Directory environments
New Operations Manager 2007 feature allows for automated agent deployments
Taming the LSASS.exe process for Active Directory performance and security
Active Directory FAQs
Troubleshooting Active Directory database errors
Troubleshooting a cross-forest trust in Active Directory
Bad external time source stops Active Directory replication
Time stamps change with daylight-saving time
DNS troubleshooting tips for Active Directory
How the DC locator works in Active Directory

Active Directory Administration
Using Active Directory to manage Macs in a Windows environment
Troubleshooting poor Windows logon performance in Active Directory environments
Common Active Directory security oversights
Scripting domain controller installations: A must for Server Core
Taming the LSASS.exe process for Active Directory performance and security
Troubleshooting Active Directory database errors
Active Directory database basics: Performing an offline defrag
Branch office security: Pros and cons of read-only domain controllers
Tips for Windows domain controller optimization
How to rebuild the SYSVOL tree when none exists in Active Directory

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
Group Policy Object  (SearchWindowsServer.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


example, I often hear an administrator say that his logon script isn't working but the policy is applying. He configured a setting such as "Add Logoff to the Start Menu." The policy applies and the "Add Logoff to the Start Menu" is taking effect, but the logon script, defined in the same policy, is not running. How can this be? If the policy applies, why will some settings apply and not others?

Of course there are the basic checks for a logon script problem: Beyond that we can check the Userenv.log. When a GPO is processed, if any GPEs are processed, they will be listed by GUID. For example, the following entry in the Userenv.log shows that the Scripts, Security and EFS Recovery extensions are processed, respectively. I just looked in the registry and looked up the friendly name of the extension. The answer for the confused admin is that the logon script is a GPE. As an extension it is processed separately by its own DLL and must be debugged separately. While the GPO processing is exposed in the Userenv.log file as was just noted, the processing of extensions produces an additional log. These logs are stored in the same place as the Userenv.log, %SystemRoot%\debug\usermode, and they are named for the DLL that processes the GPE. For example, we see in Figure 1 that gptext.dll is the GPE for Scripts. Thus, when errors occur in processing the script, they will be logged in a file called "gptext.txt" in the %SystemRoot%\Debug\UserMode directory.

In Troubleshooting a logon script problem using Userenv and GPE logging, we'll take a look at a case study in which Userenv and GPE logging are required to troubleshoot a logon script problem.

Gary Olsen is a systems software engineer for Hewlett-Packard in Global Solutions Engineering. He authored Windows 2000: Active Directory Design and Deployment and co-authored Windows Server 2003 on HP ProLiant Servers. Gary is a Microsoft MVP for Windows Server-File Systems.


Rate this Tip
To rate tips, you must be a member of SearchWindowsServer.com.
Register now to start rating these tips. Log in if you are already a member.




DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



Server Room Design - Planning, Cooling, Maintenance
HomeTopicsBlogsITKnowledge ExchangeTipsAsk the ExpertsMultimediaWhite PapersIT Downloads
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2004 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts