Saltar al contenido

Cómo listar directorios virtuales en IIS de todos los sitios web en PowerShell

Hemos indagado por el mundo online y así de esta forma tenerte la respuesta a tu inquietud, si continúas con alguna duda déjanos tu inquietud y te responderemos sin falta.

Solución:

Escribes que no puedes averiguar cómo recuperar:

  • Camino físico
    • es directamente accesible a través de la physicalPath notapropiedad
  • Asociación de grupos de aplicaciones
    • no tiene sentido, Aplicaciones se asignan a grupos de aplicaciones, los directorios en sí no lo son.
  • Nombre del sitio
    • Ya sabes esto ($Site.name)
  • Cartas credenciales
    • Supongo que solo quieres el nombre de usuario si está presente

Todos estos podrían recuperarse con algunas modificaciones leves a su script existente:

Import-Module WebAdministration

$Websites = Get-ChildItem IIS:Sites 

$AllVDirs = @()

foreach($Site in $Websites)

    $VDirs = Get-WebVirtualDirectory -Site $Site.name
    foreach($webvdirectory in $VDirs)
    
            $vdir = New-Object psobject -Property @
                "Name" = ($webvdirectory.path -split "/")[-1]
                "Site" = $Site.name
                "Path" = $webvdirectory.path
                "PhysicalPath" = $webvdirectory.physicalPath
                "PhysicalPathCredentials" = $webvdirectory.userName
            

            $AllVDirs += $vdir
     


$AllVDirs

Ahora puedes exportar $AllVDirs a Xml, Csv o simplemente imprímalo en el host de PowerShell.

Gracias @Mathias R. Jessen, me olvidé de esta publicación y debería haber regresado porque descubrí la mayor parte. Su secuencia de comandos funciona perfectamente y aquí está la mía solo para S&G, no me di cuenta de que todo lo que tenía que hacer era invocar los objetos y las propiedades.

$Websites = Get-ChildItem IIS:Sites 
    foreach($Site in $Websites)
            
                $webapps = Get-WebApplication -Site $Site.name 
                $VDir = Get-WebVirtualDirectory -Site $Site.name #-Application $webapps.name
                                foreach($webvdirectory in $VDir)
                                    
                                        $webvdirectory2 = $webvdirectory.path
                                        Write-Host $webvdirectory2.split("/")[-1] "::: is the Virtual Directory" -ForegroundColor Green
                                        Write-Host $webvdirectory.physicalPath   
                                        Write-Host $webvdirectory.userName                                         
                                        Write-Host $webvdirectory.password
                                        Write-Host $webvdirectory.logonMethod
                                     
                            #Write-Host $VDir 

            

Sin embargo, también tengo otro problema y no sabía si tenía la respuesta, ¿cómo llamaría a la propiedad de credenciales de ruta física para aplicaciones web? No puedo imprimir el nombre de usuario o la contraseña, pero puedo imprimir el método de inicio de sesión que usa la misma propiedad. a continuación se muestra mi código para aplicaciones web, es muy similar a mi código de directorios virtuales:

$Websites = Get-ChildItem IIS:Sites 
    foreach($Site in $Websites)
             
             $webapps = Get-WebApplication -Site $Site.name 
                    foreach($webapp in $webAPPS)
                        
                        Write-Host $webapp.applicationPool
                        Write-Host $WebApp.virtualDirectoryDefaults.userName
                        Write-Host $webapp.virtualDirectoryDefaults.password
                        Write-Host $webapp.virtualDirectoryDefaults.logonMethod
                        $webapp2 = $webapp.path
                        Write-Host $WebApp2.split("/")[-1] "::: is the Web Application" -ForegroundColor Green

                         
            

Te invitamos a añadir valor a nuestra información contribuyendo tu experiencia en las observaciones.

¡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 *