appcmd command to set anonymous authentication on a folder under a Web Application

I would like to run a command to set up anonymous authentication on a folder under a Web Application on IIS. I would like the particular folder to be the only thing affected. I don't want to change the anonymous authentication for the entire Web Application.

Edit 29. July 2013:
Still not having adequate answer :( Adding some key facts:
- I need this in a script as part of installation process.
- I don't want to rely on IIS powershell snap-in.
- I know about possibility of setting this up via web config and I don't have a problem with that but I can't alter any config outside of my Web Application. I can't alter C:\Windows\System32\inetsrv\config\applicationHost.config, so, this option is out.

This can very easily be done via IIS Manager (GUI).


Solution 1:

Use AppCmd to allow overriding section configuration in application Web.config:

%systemroot%\system32\inetsrv\APPCMD unlock config  /section:security/authentication/anonymousAuthentication

Unlocking a particular section will allow child Web.config in a particular directory to apply. Just keep in mind that unlocking the section is applied globally.

Solution 2:

Pasted from http://www.iis.net/configreference/system.webserver/security/authentication/anonymousauthentication ... This should give you an idea ...

appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/anonymousAuthentication /enabled:"True" /commit:apphost appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/anonymousAuthentication /userName:"IUSR" /commit:apphost appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/anonymousAuthentication /password:"P@ssw0rd" /commit:apphost