Добавить пользовательское значение в выходную таблицу PowerShell - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть список веб-URL-адресов приложений, в котором я пытаюсь отслеживать HTTP-код состояния веб-URL-адреса с помощью командного метода Invoke-WebRequest.

Я получил список объектов с помощью следующей команды:

Invoke-WebRequest https://example.com/123 | Get-Member

Здесь я использую поля codecode и statusdescription для включения его в вывод:

Invoke-WebRequest https://example.com/123 |
    Select-Object StatusCode, StatusDescription |
    ft -a

Теперь я хочу включить собственное имя URL-адреса в выходные данные перед statuscode и statusdescription, чтобы выходные данные выгляделикак показано ниже

URL          StatusCode StatusDescription
---          ---------- -----------------
abc web page        200 OK       

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Вы можете добавить все к своему выводу:

Invoke-WebRequest www.google.com | Select-Object -Property @{n="URL";e={'Any Name'}},StatusCode, StatusDescription

Если вам нужен реальный URL, который вы указали в своем выводе, вы можете сделать это так:

Invoke-WebRequest www.google.com | Select-Object -Property @{n="URL";e={$_.BaseResponse.ResponseUri.Host}},StatusCode, StatusDescription

0 голосов
/ 12 февраля 2019

Если вам не нужно хранить данные в переменных, и вам подходит просто печать

$URLsources = "http://fooo/fooURL1:800","http://fooo/fooURL2:800","http://fooo/fooURL2:800"

#table definition
    $tabName = "Output table"

    #Create Table object
    $table = New-Object system.Data.DataTable “$tabName”

    #columns definition
    $col1URL = New-Object system.Data.DataColumn URL,([string])
    $col2Status = New-Object system.Data.DataColumn Status,([string])
    $col3Desc = New-Object system.Data.DataColumn Desc,([string])

    #add columns
    $table.Columns.Add($col1URL)
    $table.Columns.Add($col2Status)
    $table.Columns.Add($col3Desc)


foreach($url in $URLsources){
  $result = Invoke-WebRequest $url 

  #preparation of the row
      $row = $table.NewRow()
      $row.URL= $url
      $row.Status= $result.StatusCode
      $row.Desc= $result.StatusDescription

  #add row to the table  
  $table.Rows.Add($row)

}

#print out the table
$table | format-table -AutoSize 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...