如何在PowerShell中将网络上的计算机放入变量?

约翰·威克555

我一直在使用以下代码行:

$204computernames = Get-ADComputer -searchbase $sb -filter * | ?{$_.name -like "ptfg*-061*"} | select name
$onlineComputers = $204computernames |Where-Object { Test-Connection $_.name -Count 1 -Quiet }

抓住我网络上的所有计算机并将它们放入一个变量中,这样我就可以将我的所有文档,更新等推送给它们,这样我就不必单独去每台计算机来获取我想要的文件。当我将变量放入这样的代码行中时

Test-Connection $onlineComputers

我收到这样的错误:

Test-Connection : Testing connection to computer '@{name=PTFGW-0613618TN}' failed: A non-recoverable error occurred during a database lookup
At line:1 char:1
+ Test-Connection $onlineComputers

我假设在对不同代码进行广泛测试之后,我的变量存储其值的方式存在问题。有谁知道我该如何解决这个问题?

汤玛士

正如@boxdog在评论中已经指出的那样,| select name您将获得具有单个属性的对象Name因此,您不会获得计算机名称的列表,而是获得在Name属性中具有计算机名称的对象的列表您可以使用它并访问每个计算机名称,例如.Name

但是要解决您的问题,您可以用代替| select name(代表| Select-Object -Property Name| Select-Object -ExpandProperty Name这样,您仅过滤出计算机名称,并将结果扩展到该属性。之后,您实际上只有一个计算机名列表(字符串对象数组)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在C#中将环境变量设置为计算机

如何在本地网络上获取计算机名称

IP范围如何在网络上查找具有单独网络地址的特定计算机?

如何在计算机2的视频会议程序(例如Skype)上使用计算机1的网络摄像头?

无法看到网络上的计算机

关闭网络上的计算机

获取网络上的计算机列表

如何在Powershell中测试与远程计算机的连接

如何在远程计算机上运行PowerShell脚本?

如何限制计算机的网络速度

如何在不同网络上的两台计算机之间共享文件夹?

如何在Macintosh Wi-Fi网络上找到计算机的IPv4地址?

如何在Intranet上定位计算机(Mac)?

如何通过网络上的另一台计算机路由网络流量?

如何在Powershell中将布尔结果放入变量中?

如何在Linux中为网络计算机添加网络别名

如何在多个计算机的Vagrantfile中将VirtualBox的计算机名设置为与主机名相同?

如何从Powershell和/或.NET更改另一台计算机的网络设置?

我的计算机在临时网络(计算机到计算机)上的IP地址是什么

如何与网络上的多台计算机共享Ditto剪贴板?

如何为我的家庭网络上的计算机设置CNAME(别名)

如何防止互联网访问我网络上的一组计算机?

如何访问自己网络上安装在计算机上的外部驱动器?

如何使“获得”在网络上而不是在计算机上显示

如何隐藏网络上的计算机名称?(作业系统X 10.6)

Qt 如何使用QtNetwork查看网络上的其他计算机?

如何使用Icalcs授予对网络上特定计算机的访问权限?

如何为网络上的其他计算机提供Vue项目

如何为本地网络上的计算机分配动态ip?