When using anonymous authentication by default IIS uses a specific user named IUSR
to access files. This user is automatically a member of the Windows Users
but not a member of IIS_IUSRS
If you removed permissions for Users
from your files, the default site setup wont work anymore.
I usually don't use IUSR
, to change this in the GUI, select the server or site node and open the Authentication
icon, select Anonymous Authentication
and the Edit
in the Actions pane on the right:

change from a specific user to Application pool identity
, now the file access is done via this account and it should be able to access your files.
You can do the same in PowerShell:
For the whole server:
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/security/authentication/anonymousAuthentication" -name "userName" -value ""
For a specific site:
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'SiteName' -filter "system.webServer/security/authentication/anonymousAuthentication" -name "userName" -value ""
I wrote a bit about this in a blog post