想知道是否有人可以提供帮助。我正在尝试使用powershell导入域列表并为每个域生成HTTP请求。目前我已经走到了这一步:
$csvFilename = "C:\Sites\sites.csv"
$csv = Import-Csv $csvFilename -Header @("url") |
foreach {
$HTTP_Request = [System.Net.WebRequest]::Create('$csv')
$HTTP_Response = $HTTP_Request.GetResponse()
$HTTP_Status = [int]$HTTP_Response.StatusCode
If ($HTTP_Status -eq 200) {
Write-Host "Site is OK!"
}
Else {
Write-Host "The Site may be down, please check!"
}
$HTTP_Response.Close()
}
我不确定为什么,但'Create()'语句不会提取URL。有什么想法吗?
非常感谢
答案 0 :(得分:1)
在foreach循环中,您可以使用自动变量$_
所以请替换此行$HTTP_Request = [System.Net.WebRequest]::Create('$csv')
通过
$HTTP_Request = [System.Net.WebRequest]::Create("$_")
但是在create方法等待字符串之前,你必须扩展你的url属性(否则你得到一个pscustomObject而不是一个字符串):
Import-Csv c:\temp\urls.csv -Header "url" |select -expand url |%{ [System.Net.Webrequest]::Create("$_")}