use*_*725 8 powershell virtual-directory windows-server-2012 iis-8
我遇到了一个完整的障碍,无法弄清楚如何在IIS 8. 我一直在检索应用程序和空的空参数错误,只是找不到让虚拟目录列出的方法。
我需要以下数据来列出有关虚拟目录的信息:
下面是我一直在使用和弄乱的代码:
*See revised code below*
Run Code Online (Sandbox Code Playgroud)
我还使用该Appcmd.exe命令尝试列出虚拟目录:
C:\Windows\System32\inetsrv\appcmd.exe LIST VDIRS
Run Code Online (Sandbox Code Playgroud)
但我仍然没有得到我需要的输出。任何或任何帮助将不胜感激!谢谢!
通过注释几行来列出我的虚拟目录,但它只打印出名称和:
我仍然不知道,以下是修改后的代码:
Import-Module WebAdministration
$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]
#Write-Host $webvdirectory
#Write-Host $webvdirectory.name
}
#Write-Host $VDir
}
Run Code Online (Sandbox Code Playgroud)
Mat*_*sen 12
您写道,您无法弄清楚如何检索:
physicalPathnoteproperty直接访问$Site.name)这些都可以通过对现有脚本进行一些轻微改动来检索:
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
Run Code Online (Sandbox Code Playgroud)
现在您可以导出$AllVDirs为 Xml、Csv 或简单地将其打印到 PowerShell 主机。
| 归档时间: |
|
| 查看次数: |
33283 次 |
| 最近记录: |