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
- es directamente accesible a través de la
- 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
)
- Ya sabes esto (
- 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.