#powershell #multidimensional-array
#powershell #многомерный массив
Вопрос:
У меня возникли небольшие проблемы при попытке вывести содержимое моего 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 "$fullpathXXX") {
$myarray.Add($getiisapps.path,$getiisapps.PhysicalPath)
}
}
в этой редакции имена приложений помещаются в заголовок таблицы, а значение — в следующую строку, поэтому на данный момент у меня просто нет идей.
Комментарии:
1. Взгляните на существующие решения, которые используют PSCustomObject для подготовки хэш-таблицы для ConvertTo-Html.
2. на самом деле это не обязательно должна быть хэш-таблица, но это самое близкое к тому, чтобы вывести ее в нужном формате для convertto-html, который я мог бы получить.
3. Переместите
$myarray = @{}
инициализацию передforeach
циклом. В любом случае, вы могли бы упростить свой скрипт:$getiisapp | ConvertTo-Html -Property path, PhysicalPath
4. На самом деле у меня так и было, я безуспешно пытался создавать массивы. Я не пытаюсь вывести всю переменную getiisapp, я пытаюсь отфильтровать ее по тому, какие приложения содержат папку XXX.
Ответ №1:
Я не пытаюсь вывести всю переменную getiisapp, я пытаюсь отфильтровать ее по тому, какие приложения содержат
XXX
папку.
Import-Module WebAdministration
$getiisapp = Get-WebApplication -Site "Default Web Site" |
Where-Object {
$fullpath = $_.PhysicalPath
Test-Path "$fullpathXXX"
}
$getiisapp | ConvertTo-Html -Property Path, PhysicalPath