In IIS 7 on Windows Server 2008, application pools can be run as the "ApplicationPoolIdentity" account instead of the NetworkService account.

How do I assign permissions to this "ApplicationPoolIdentity" account. It does not appear as a local user on the machine. It does not appear as a group anywhere. Nothing remotely like it appears anywhere. When I browse for local users, groups, and built-in accounts, it does not appear in the list, nor does anything similar appear in the list. What is going on?

I'm not the only one with this problem: see Trouble with ApplicationPoolIdentity in IIS 7.5 + Windows 7 for an example.


"This is unfortunately a limitation of the object picker on Windows Server 2008/Windows Vista - as several people have discovered it already, you can still manipulate the ACL for the app-pool identity using command line tools like icacls."

link|improve this question

54% accept rate
It's great that the original poster is basically saying he will pirate the software in question... – ssmith Jun 28 '10 at 15:00
1  
If by "pirate" you mean I'm going to obtain a working version of the software I purchased without paying them AGAIN, then yes. When software doesn't work as advertised, and an updated version with the same features works, then I'm going to obtain the working version without paying them twice. For example, if software suite version 10 is so full of bugs it's non-functional or has critical issues that make it not function as advertised, and version 11 works... I will obtain and use version 11 free-of-charge, since the originally purchased version didn't work correctly. – Triynko Jan 17 '11 at 22:33
1  
And if they have a problem with this.. I'll gladly take them to federal court for fraud, and drag them so far down into a technical and philosophical rabbit-hole that they'll be forced to dismiss the case or admit that software patents should be eliminated from the US Code. – Triynko Jan 18 '11 at 0:21
feedback

2 Answers

up vote 59 down vote accepted

This is a great feature, but as you mentioned it's not fully implemented yet. You can add the app pool identity from the command prompt with something like icacls, then you can manage it from the GUI. For example, run something like this from the command prompt:

icacls c:\inetpub\wwwroot /grant "IIS APPPOOL\DefaultAppPool":(OI)(CI)(RX)

Then, in Windows Explorer, go to the wwwroot folder and edit the security permissions. You will see what looks like a group (the group icon) called DefaultAppPool. You can now edit the permissions.

However, you don't need to use this at all. It's a bonus that you can use if you want. You can use the old way of creating a custom user per app pool and assigning the custom user to disk. That has full UI support.

This SID injection method is nice because it allows you to use a single user but fully isolate each site from each other without having to create unique users for each app pool. Pretty impressive, and it will be even better with UI support.

The windows service called Application Host Helper Service is the one that does the mappings between IIS and Windows users.

Note: In Windows Server 2008 R2, you can add the user through the NTFS GUI by typing it in directly. The name is in the format of IIS APPPOOL\{app pool name}. For example: IIS APPPOOL\DefaultAppPool.

link|improve this answer
Thanks for the explanation. Half-implementions stated to be such, are far less irritating, because their odd behavior is explainable. Clearly there is a separate account with a unique SID for each app-pool, and they seem to be managed by the system, but I don't know how. I'm wondering if the NTFS is going to get cluttered as application pools are added, assigned permissions, and later removed while using these types of system-managed accounts. It seems too unstable. – Triynko Nov 4 '09 at 18:17
It is kind of an odd beast since it's not like a group where the user lives in a group, and it's not like a computer account vs. a user account which are completely different from each other. The app pool account 'overlaps' the app pool identity user. For example, you can have 5 app pools using Network Service and 5 others using custom accounts, but they are 10 different system managed app pool accounts. The advantages are noticed with the c:\inetpub\temp\appPools folder where it's managed automatically and locks the system cleanly. IIS leverages them well. Our use on folders is optional. – Scott Forsyth - MVP Nov 4 '09 at 23:12
13  
Note that if you enter "IIS APPPOOL\DefaultAppPool" directly into the "Select User or Group" (instead of searching for it) when editing permissions, it will be recognized just fine (tested on Win7 x64 and Win2k8 R2 x64). – Milan Gardian Apr 7 '10 at 17:18
3  
You're correct for Win7 and Win2k8 R2. It wasn't implemented in Win2k8 RTM, but is in R2. – Scott Forsyth - MVP Apr 17 '10 at 12:38
In SqlServer2008, IIS APPPOOL\DefaultAppPool is recognized, but when I want to create the user, I get an exception saying the DefaultAppPool is not found... – Lieven Cardoen Sep 17 '10 at 7:24
show 6 more comments
feedback

I was running WS8 R2 and I could not add IIS APPPOOL\DefaultAppPool via Windows Explorer. The only way it worked was via command line:

cacls /T /E /G "IIS APPPOOL\DefaultAppPool":C

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.