Tcp-NetConnection失败,错误为“无法将值转换为类型System.String”

时间:2019-02-11 13:13:25

标签: powershell

我正在使用下面的代码来获取内容并使用Powershell中的TCP-netconnection对其进行测试。但是,出现如下错误。

Test-NetConnection : Cannot process argument transformation on parameter 'ComputerName'. Cannot convert value to type System.String. At line:2 char:34
+ Test-NetConnection -ComputerName $Name -Port 445
+                                  ~~~~~
    + CategoryInfo          : InvalidData: (:) [Test-NetConnection], ParameterBindingArgumentTransformationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Test-NetConnection

下面是我使用的脚本命令。

$Name = Get-Content "C:\Users\vishnuvardhan.chapal\Documents\Test File.txt"
Test-NetConnection -ComputerName $Name -Port 445

有人对“如何将读取的数据转换为字符串”有想法吗?

1 个答案:

答案 0 :(得分:0)

您的$ name变量中可能存储了一组计算机名称。 computername参数仅接受一个字符串。您将需要像下面这样遍历计算机名称:

$Name = Get-Content "C:\Users\vishnuvardhan.chapal\Documents\Test File.txt"
$name | foreach-object {test-netconnection -computername $_ -port 445}

您的测试file.txt文件只需要包含计算机名称。每行格式必须是一台计算机名称。