需要一些帮助才能以表格格式获取以下代码的输出,下面是使用的代码。
$URLList = Get-Content C:\temp\link.txt
$result = foreach ($uri in $URLList) {
try{
$res = Invoke-WebRequest -Uri $uri -UseDefaultCredentials -UseBasicParsing -Method Head -TimeoutSec 5 -ErrorAction Stop
$status = [int]$res.StatusCode
}
catch {
$status = [int]$_.Exception.Response.StatusCode.value__
}
# output a formatted string to capture in variable $result
" URL- $uri - Status- $status "
}
#print
$result
目前收到的结果如下
URL- http://example.com - Status- 200
需要如下表格格式,
| URL | Status |
| http://example.com |200 |
不输出字符串,而是输出 PSCustomObject。
然后,您可以将其通过管道传输到 Format-Table(这通常是不必要的,因为 Powershell 经常自动将其用于 PSCustomObjects,但强制它也无害)
$result = foreach ($uri in $URLList) {
Write-Verbose 1
try {
$res = Invoke-WebRequest -Uri $uri -UseDefaultCredentials -UseBasicParsing -Method Head -TimeoutSec 5 -ErrorAction Stop
$status = [int]$res.StatusCode
}
catch {
$status = [int]$_.Exception.Response.StatusCode.value__
}
[PSCustomObject]@{
URL = $uri
Status = $status
}
}
$result | Format-Table