Saltar al contenido

Habilite la autenticación para la aplicación IIS en Powershell

Ya no necesitas buscar más por todo internet ya que llegaste al lugar indicado, poseemos la respuesta que quieres y sin complicarte.

Solución:

Tuve el problema de tratar con secciones bloqueadas y la respuesta aceptada propone abrir una GUI para resolverlo, lo que intento evitar con PowerShell en primer lugar.

Respuesta corta

Habilitar la autenticación de Windows y deshabilitar la autenticación anónima

$iisSiteName = "Default Web Site"
$iisAppName = "MyApp"

Write-Host Disable anonymous authentication
Set-WebConfigurationProperty -Filter '/system.webServer/security/authentication/anonymousAuthentication' -Name 'enabled' -Value 'false' -PSPath 'IIS:' -Location "$iisSiteName/$iisAppName"

Write-Host Enable windows authentication
Set-WebConfigurationProperty -Filter '/system.webServer/security/authentication/windowsAuthentication' -Name 'enabled' -Value 'true' -PSPath 'IIS:' -Location "$iisSiteName/$iisAppName"

Tratar con secciones bloqueadas

Como se indica en la documentación de IIS:

Las secciones de autenticación generalmente están bloqueadas, es decir, no pueden escribirse en un archivo web.config, sino que deben escribirse en el archivo central applicationhost.config.

tenemos que usar -PSPath y -Location parámetros

Set-WebConfigurationProperty -filter /system.webServer/security/authentication/windowsAuthentication -name enabled -value true -PSPath IIS: -location DemoSite/DemoApp

No necesitas separar -PSPath y -Location parámetros Puedes combinarlos así:

-PSPath "IIS:Sites$SiteName$AppName"

Así que el comando real se verá así:

Set-WebConfigurationProperty -Filter "/system.webServer/security/authentication/windowsAuthentication" -Name Enabled -Value True -PSPath "IIS:Sites$SiteName$AppName"

Tenga en cuenta que puede encontrarse con este error:

Set-WebConfigurationProperty: esta sección de configuración no se puede usar en esta ruta. Esto sucede cuando la sección está bloqueada en un nivel principal. El bloqueo es predeterminado (overrideModeDefault=”Deny”) o se establece explícitamente mediante una etiqueta de ubicación con overrideMode=”Deny” o el legado allowOverride=”false”.

Tomfanning en ServerFault proporcionó la solución aquí. He repetido sus pasos aquí:

  1. Administrador de IIS abierto
  2. Haga clic en el nombre del servidor en el árbol de la izquierda
  3. Panel derecho, sección Gestión, haga doble clic en Editor de configuración
  4. En la parte superior, elige la sección system.webServer/security/authentication/anonymousAuthentication
  5. Panel derecho, haga clic en Desbloquear sección
  6. En la parte superior, elige la sección system.webServer/security/authentication/windowsAuthentication
  7. Panel derecho, haga clic en Desbloquear sección

Si entiendes que ha resultado de utilidad este post, nos gustaría que lo compartas con el resto entusiastas de la programación y nos ayudes a difundir esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *