我有这个脚本来测试特定的网站。它工作但不是我想要的方式。在“try”参数之后,变量$hostpc
未被调用。
这是我得到的输出:
测试服务器:
Web Ping成功。
它应该是这样的:
测试服务器:服务器名称
Web Ping servername 成功。
$servers = Get-Content 'some.txt'
Foreach ($hostpc in $servers) {
Invoke-Command $hostpc -ScriptBlock {
try {
write-host "Testing Server: $hostpc"
$request = [System.Net.WebRequest]::Create("some web site")
$response = $request.GetResponse()
Write-Host "Web Ping on $hostpc Succeeded." -foregroundcolor Yellow
} catch {
Write-Host ("Web Ping on $hostpc FAILED!!! The error was '{0}'." -f $_)-foregroundcolor Red
}
}
}
答案 0 :(得分:-1)
我认为你的变量因此Ping确实有效。问题在于日志显示,因为您没有正确地将变量与字符串连接起来。
写主机“测试服务器:$ hostpc”
更改为write-host "Testing Server: $($hostpc)"
写主机“$ ping在$ hostpc上成功。”
更改为Write-Host "Web Ping on $($hostpc) Succeeded."