¿Cómo obtener el "Tipo de inicio de sesión de credenciales de ruta física" para el sitio y la aplicación?

¿Cómo obtener el "Tipo de inicio de sesión de credenciales de ruta física" para el sitio y la aplicación?

Tengo un sitio web IIS 8 configurado con una aplicación interna.

Usando Powershell, ¿cómo puedo obtener la configuración "Tipo de inicio de sesión de credenciales de ruta física" (predeterminada en ClearText) tanto para el sitio principal como para la aplicación?

Lo que he probado,

Configure un usuario específico y un "Tipo de inicio de sesión" no predeterminado para cada una de las aplicaciones.

(get-item IIS:\Sites\MYSITE).physicalPath
(get-item IIS:\Sites\MYSITE).username
(get-item IIS:\Sites\MYSITE).password

Consígueme exactamente los valores que esperaría, pero no hay ninguna propiedad "Tipo de inicio de sesión" disponible.

(get-item IIS:\Sites\MYSITE).virtualDirectoryDefaults

Muestra la ruta, la ruta física, el nombre de usuario y la contraseña, todos en blanco y tiene "logonMethod" configurado como "ClearText" predeterminado.

(get-item IIS:\Sites\MYSITE).Collection[0].virtualDirectoryDefaults

y

(get-item IIS:\Sites\MYSITE).Collection[1].virtualDirectoryDefaults

ambos muestran lo mismo, la ruta, la ruta física, el nombre de usuario y la contraseña, todos en blanco y el "método de inicio de sesión" está configurado como el "Texto claro" predeterminado.

La razón por la que quiero esto es para agregar una verificación a una secuencia de comandos que garantice que los sitios cumplan con una "lista de verificación de configuración", donde he podido asignar todas las demás configuraciones desde PowerShell.

Respuesta1

La solución es alejarse delAdministración Webmódulo y enMicrosoft.Web.Administration.ServerManager

Add-Type -AssemblyName "Microsoft.Web.Administration, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
$iis = new-object Microsoft.Web.Administration.ServerManager
($iis.Sites | where { $_.name -eq "MYSITE" }).applications[1] | select -ExpandProperty VirtualDirectories | select LogonMethod

devoluciones

ClearText

Aplicaciones[1] indica la segunda aplicación, aplicaciones[0] es la aplicación raíz.

ElAgregar tipoLa versión es importante para evitar cargar la instancia del servidor IIS-Express.

Para su información, debido a que debe crear una instancia del servidor, los cambios en el administrador de IIS no estarán disponibles hasta que vuelva a crear ese objeto.

Respuesta2

Creo que ya te topaste con la respuesta. No parece haber una propiedad explícita para esto porque las credenciales proporcionadas solo se usan para anular las credenciales del hilo normal.

Sin embargo, puedes verificar si el nombre de usuario o la contraseña están configurados y crear una función como esta.

function Get-PhysicalLogonType ($site) {
  if($site.username -eq '' -and $site.password -eq '') {
    return 'PassThrough'
  }
  return 'SpecificUser'
}

# ... use it somewhere in your script
$site = (get-item IIS:\site\mysite)
Get-PhysicalLogonType $site

Respuesta3

Lo siguiente devuelve la ruta física del directorio virtual y el método de inicio de sesión. Estoy seguro de que se puede hacer de tal manera que pueda apuntar a un "directorio de aplicaciones" específico.

Get-Item IIS:\Sites\* | Select-Object -ExpandProperty Collection | Select-Object -ExpandProperty Collection | Select-Object -Property physicalPath,logonMethod

información relacionada