Код, который у вас есть выше, должен работать, вы запускаете его из командной строки с повышенными правами?
Вы также можете попытаться убедиться, что он фиксирует файл ApplicationHost.config, чтобы убедиться, что это не проблема блокировки, установив CommitPath, и убедитесь, что удостоверение, под которым вы запускаете скрипт, имеет к нему доступ на запись.
'CHANGE ANONYMOUS AUTHENTICATION For Default Web Site:
Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set anonymousAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/anonymousAuthentication", "MACHINE/WEBROOT/APPHOST/Default Web Site")
anonymousAuthenticationSection.Properties.Item("enabled").Value = True
anonymousAuthenticationSection.Properties.Item("userName").Value = "myUser"
anonymousAuthenticationSection.Properties.Item("password").Value = "myPass"
adminManager.CommitChanges()