【发布时间】:2017-02-18 07:01:54
【问题描述】:
我在尝试将 foreach 的内容输出到数组或对象以使用 convertto-html 为我发布格式化表格时遇到了一些麻烦。
我最近的尝试是使用哈希表,但效果不佳,因为它只是让表的内容没有标题。
基本上,我试图将默认网站中包含文件夹 XXX 的任何应用程序的结果输出到格式化的 html 表中,其中有一列应用程序名称和 XXX 文件夹的完整路径。
Import-Module WebAdministration
$getiisapp = Get-WebApplication -Site "Default Web Site"
$myarray = @{}
foreach ($getiisapps in $getiisapp) {
$fullpath = $getiisapps.PhysicalPath
$fullname = $getiisapps.path
if(Test-Path "$fullpath\XXX\") {
$myarray.Add($getiisapps.path,$getiisapps.PhysicalPath)
}
}
它的这个版本,将应用程序名称放在表头中,并将值放在下一行中,所以我现在有点想不通。
【问题讨论】:
-
查看使用 PSCustomObject 为 ConvertTo-Html 准备哈希表的现有解决方案。
-
它不一定是一个哈希表,但这是最接近它以正确格式输出的方法,我似乎可以得到。
-
将
$myarray = @{}初始化移动到foreach循环之前。在任何情况下,您都可以简化脚本:$getiisapp | ConvertTo-Html -Property path, PhysicalPath -
其实我就是这样,我试过创建数组但没有运气。我不是要输出整个 getiisapp 变量,而是要通过哪些应用程序包含 XXX 文件夹来过滤它。
标签: powershell multidimensional-array