2016-10-09 2 views
0

У меня возникли проблемы с попыткой вывода содержимого моего foreach в массив или объект с целью использования convertto-html для публикации форматированной таблицы для меня.Powershell convertto-html и массив hashtable

Моя последняя попытка заключалась в использовании хеш-таблицы, но это не совсем сработало, поскольку только содержимое таблицы не имеет заголовков.

В основном я пытаюсь вывести результаты любых приложений на веб-сайте по умолчанию, которые содержат папку 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)   
    } 
} 

этот пересмотр его, ставит имена приложений в заголовке таблицы и значение в течение следующего ряда так я kindof только из идей в этой точке.

+0

Посмотрите на существующие решения, которые используют PSCustomObject подготовить хэш-таблицу для ConvertTo-Html. – wOxxOm

+0

Это не значит, что это хэш-таблица, но это самое близкое к тому, чтобы заставить ее выводить в нужном формате для convertto-html, который я мог бы получить. – silentbob

+0

Перемещение '$ myarray = @ {}' инициализации перед циклом foreach. В любом случае вы можете упростить свой скрипт: '$ getiisapp | ConvertTo-Html -Property path, PhysicalPath' – JosefZ

ответ

0

Я не пытаюсь вывести всю переменную getiisapp, я пытаюсь фильтровать с помощью которых приложения содержат папку XXX.

Import-Module WebAdministration 
$getiisapp = Get-WebApplication -Site "Default Web Site" | 
    Where-Object { 
     $fullpath = $_.PhysicalPath 
     Test-Path "$fullpath\XXX\" 
    } 
$getiisapp | ConvertTo-Html -Property Path, PhysicalPath 
+0

Хорошо, что дает больше смысла – silentbob

Смежные вопросы