Powershell不调用变量

时间:2016-04-14 20:18:02

标签: powershell

我有这个脚本来测试特定的网站。它工作但不是我想要的方式。在“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
        } 

    }
}

1 个答案:

答案 0 :(得分:-1)

我认为你的变量因此Ping确实有效。问题在于日志显示,因为您没有正确地将变量与字符串连接起来。

  

写主机“测试服务器:$ hostpc”

更改为write-host "Testing Server: $($hostpc)"

  

写主机“$ ping在$ hostpc上成功。”

更改为Write-Host "Web Ping on $($hostpc) Succeeded."