powershell - 收到错误“方法调用失败,因为 [System.Net.IPAddress[]] 不包含名为“Where”的方法”
问题描述
我的从主机名获取 ipaddress 的脚本在 Windows 7 计算机上运行时出现此错误。任何解决方法都可能。我假设它是由于没有更新 powershell 造成的,但我无法更新所有计算机的 powershell。我的代码看起来像
if ($tech_name -eq "brian" -or $tech_name -eq "6" ){
$wshell.SendKeys([System.Net.Dns]::GetHostAddresses("XXXXXX").where({$_.AddressFamily -eq 'InterNetwork'}).IPAddressToString)
$wshell.SendKeys("~")
}
解决方案
在早期版本的 PowerShell 中,您可以改用 where-object cmdlet,但是您需要更多的括号来获取该属性。
$wshell.SendKeys(([System.Net.Dns]::GetHostAddresses("XXXXXX") | where-object {$_.AddressFamily -eq 'InterNetwork'}).IPAddressToString)
$wshell.SendKeys("~")
推荐阅读
- bash - 从 bash 命令开始的交互式 ssh 会话
- reactjs - 如何在反应语法hightligting中添加文件名或标题
- matlab - 如何在matlab的网格上使用while循环?
- c# - C# 中的客户端套接字
- css - 触摸输入字段在 iOS Safari 上停止滚动
- docker - 有没有办法在 github 操作上运行 Web 应用程序
- java - 手动删除 TreeMap 嵌套的空值
- c++ - slarch.c:(.text+0x2a3): 链接 Oracle 19c 库时在 Redhat Linux 7 中未定义对“__intel_cpu_feature_indicator_x”的引用
- centos8 - 是否可以通过 PXE 部署完全配置的 CentOS 8 安装?非交互式
- python - 如何修复:TypeError:/: 'str' 和 'float' 不支持的操作数类型