gpt4 book ai didi

windows - PowerShell ISE 与脚本

转载 作者:可可西里 更新时间:2023-11-01 10:35:03 26 4
gpt4 key购买 nike

我在玩 powershell 这个想法很简单:

我想验证某个 TCP 端口是否打开。

现在,我可以将其作为 PowerShell 脚本运行,也可以在 ISE 中运行。

现在,在 ISE 中一切正常,脚本按预期运行。

但是,当我将它作为 PowerShell 脚本运行时,我收到错误消息:


方法调用失败,因为 [System.Net.Sockets.TcpClient] 不包含名为“ReceiveTimeout”的方法。在 P:\checkTCP80.ps1:7 字符:1+ $tcpClient.ReceiveTimeout(5)+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 类别信息: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)
}

我有两个问题:

  1. 为什么输出参数在 ISE 中工作正常,但在作为脚本启动时却不起作用?
  2. 如何解决?

最佳答案

根据关于此类的 MS 文档,ReceiveTimeout 是一个属性而不是方法。

尝试将 $tcpClient.ReceiveTimeout(5) 更改为 $tcpClient.ReceiveTimeout = 5

关于windows - PowerShell ISE 与脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31938288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com