получение значения свойства в powershell при запуске convertto-html - PullRequest
0 голосов
/ 10 декабря 2018

Я все еще новичок в powershell, и недавно я узнал о свойствах get-member.Однако, когда я передаю команду для преобразования в html, значение исчезает.

У меня есть данные, которые называются link.csv, а ниже - содержимое файла

    Target      Node  Address          Status
------      ----  -------          ------
server01 0:2:3 20230002AC0153AF Up    
server01 0:2:4 20240002AC0153AF Up    
server01 1:2:3 21230002AC0153AF Up    
server01 1:2:4 21240002AC0153AF Up 

.возможность получить значение свойства, как показано ниже.

PS C:\Report\script\Temp> $a= Import-Csv .\link.csv | select Target,Node,Address,Status 

PS C:\Report\script\Temp> $a.Node[1]
0:2:4

PS C:\Report\script\Temp> $a.Status[1]
Up

PS C:\Report\script\Temp> $a.Target[1]
server01

Однако, когда я вывожу его на Convertto-Html

PS C:\Report\script\Temp> $a= Import-Csv .\link.csv | select Target,Node,Address,Status | ConvertTo-Html -Fragment -PreContent "<font color=`"Black`"><H4>Remote Copy Group - $b</H4></font> "

PS C:\Report\script\Temp> $a.Target[1]
Cannot index into a null array.
At line:1 char:1
+ $a.Target[1]
+ ~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : NullArray

Как я могу получить значение свойства при выполнении команды convertto-html,Надеюсь, что вы можете помочь мне с этой проблемой.

Спасибо заранее.

1 Ответ

0 голосов
/ 11 декабря 2018

Если вы хотите захватить промежуточные результаты в конвейере, используйте -OutVariable / -ov общий параметр с именем переменной , чтобысохраните эти результаты в этой переменной:

$html = Import-Csv .\link.csv |
  Select-Object Target, Node, Address, Status -OutVariable a | 
    ConvertTo-Html -Fragment -PreContent "<font color=`"Black`"><H4>Remote Copy Group - $b</H4></font> "

$a.Target[1]

Обратите внимание, как конвейер в целом возвращает HTML (как массив строк), тогда как промежуточные пользовательские объекты, отфильтрованные из входных данных CSV, хранятся впеременная $a через -OutVariable, для дальнейшего использования - обратите внимание, как вы должны передать только переменную name в -OutVariable, без символа $, т. е. просто a вместо $a.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...