【发布时间】:2015-08-11 09:38:50
【问题描述】:
我在玩 powershell 这个想法很简单:
我想验证某个 TCP 端口是否打开。
现在,我可以将其作为 PowerShell 脚本运行,也可以在 ISE 中运行。
现在,在 ISE 中一切正常,脚本按预期运行。
但是,当我将它作为 PowerShell 脚本运行时,我收到了错误消息:
方法调用失败,因为 [System.Net.Sockets.TcpClient] 不包含名为“ReceiveTimeout”的方法。 在 P:\checkTCP80.ps1:7 char:1 + $tcpClient.ReceiveTimeout(5) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : MethodNotFound
代码:
$servery = gc .\servers.txt
foreach ($server in $servery)
{
$tcpClient = New-Object System.Net.Sockets.TCPClient
$tcpClient.ReceiveTimeout(5)
$tcpClient.Connect($server,80)
Write-Host ($server, $tcpClient.Connected)
}
我有两个问题:
- 为什么输出参数在 ISE 中可以正常工作,但在作为脚本启动时却不起作用?
- 如何解决?
【问题讨论】:
标签: windows powershell