• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1871
  • Last Modified:

AD Group Policy resetting security descriptor for the SharedAccess service

I have about 300 computers in my AD domain.  I'm unable to start the Windows Firewall Service on only my XP 32-bit machines.  The service is set to start automatically and I get this error if I try to manually start the service:

error 0x80004015: The class is configured to run as a security id different from the caller

The security descriptor for the SharedAccess service on my XP 32-bit machines is set to this:


I followed Microsoft's article (http://support.microsoft.com/kb/892199) and manually reset the security descriptor using the following command:


After that I'm able to successfully start the Firewall Service.

However, if I refresh the group policy on the machine (gpupdate /force) the security descriptor is changed back to the first key listed above.

I've tested changing a few things in my default domain group policy, resetting the SD for SharedAccess, and then refreshing the group policy, but each time they key is reverted back to the one that doesn't work.

I have the Administrative Template for the Windows Firewall set to disabled in the domain and standard group policy, but it makes no difference  if I set it to enabled or not configured.

What other areas in Group Policy might be causing this change?  Or is there something else going on?  All of my XP 64-bit machines work fine.

  • 2
1 Solution

Click Start followed by Run...

Type in regedt32 and hit the enter key.

Locate the key HKEY_Local_MACHINE\software\classes\appid\{ce166e40-1e72-45b9-94c9-3b2050i8f180} and highlight it.

Click File and then Export from the File menu and export a copy of the key.

Make sure the key mentioned in step 3 is still highlighted and delete it.

Restart your computer and the Windows Firewall/Internet Connection Sharing Service should start automatically
fourjohnAuthor Commented:
Ok, deleting the reg key seems to work even after refreshing the group policy.

As a test I built a virtual PC with a fresh copy of XP with Service Pack 3 embedded (not that it really matters).  Before joining the machine to the domain the Windows Firewall service loads correctly and the SharedAccess security ID is D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)

After joining the machine to the domain and the group policy has taken effect (and then rebooting), the SharedAccess security ID changes to D:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCLCSWLOCRRC;;;IU) and the Windows Firewall service fails to load.  Deleting the regkey and rebooting works.

However, I would like to understand what in my group policy is causing this problem as it clearly looks to be the culprit.  Deleting a regkey via a login script for all 300 networked machines creates another dependency for me and I would instead like to fix my group policy.

What is happening when the regkey is deleted?  I'm just trying to understand what it's doing.

Also, can someone give me any clues as to where in my domain policy that is causing the issue?

fourjohnAuthor Commented:
The problem was in the default domain policy and here is how I corrected it:

Open the Default Domain Policy
Navigate to \Computer Configuration\Windows Settings\Security Settings\System Services
Open Windows Firewall/Internet Connection Sharing (ICS)
Check the box next to "Define this policy setting"
Select the service start mode to Automatic
Click the Edit Security button
      Set Administrators (local) to Full Control
      Set Authenticated Users to Read
      Set Power Users (local) to Read + Start, Stop and Pause
      Set System to Read + Start, Stop and Pause
Refresh the group policy on the machine (gpupdate /force)

The combination of security settings above sets the SharedAccess Security ID to a working value of:


It is also helpful to understand the association between the Access right string Constant, the Access Right Value, and the GUI security permission:

CC     ADS_RIGHT_DS_CREATE_CHILD          Query template
DC     ADS_RIGHT_DS_DELETE_CHILD          Change template
LC      ADS_RIGHT_ACTRL_DS_LIST                  Query status
SW     ADS_RIGHT_DS_SELF                        Enumerate dependents
RP      ADS_RIGHT_DS_READ_PROP                  Start
WP     ADS_RIGHT_DS_WRITE_PROP          Stop
DT      ADS_RIGHT_DS_DELETE_TREE           Pause and continue
LO      ADS_RIGHT_DS_LIST_OBJECT           Interrogate
CR      ADS_RIGHT_DS_CONTROL_ACCESS   User-defined control
SD      DELETE                                               Delete
RC      READ_CONTROL                               Read permissions
WD     WRITE_DAC                                       Change permissions
WO     WRITE_OWNER                               Take Ownership

Deleting the HKEY_Local_MACHINE\software\classes\appid\{ce166e40-1e72-45b9-94c9-3b2050i8f180} regkey is more of a workaround whereas I was asking to fix the problem at the root cause.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now