【发布时间】:2021-05-18 20:22:59
【问题描述】:
我有各种各样的计算机,我正在编写一个 Powershell 脚本,该脚本将网络共享与我的服务器上的计算机驱动程序的本地存储库一起安装在自己的单独目录中,作为每台计算机的品牌和型号(例如联想 E460、戴尔 Latitude E5450 等)。
这是我想要做的:
我想要获取计算机的信息(品牌和型号)并将其连接成一个字符串。然后我希望将该字符串引用到驱动程序目录的数组中,如果计算机制造商+型号匹配,我希望计算机下载该目录中的驱动程序。我来自 web 开发背景,在这里我通常会使用 JavaScript Array.prototype.filter() 方法来过滤数组以将 $computer 与 $drivers 数组中的每个子项进行比较。
$computer = (gwmi Win32_ComputerSystem).Manufacturer + " " + (dwmi Win32_ComputerSystem).Model
$drivers = Get-ChildItem \\zapp\pc\!Drivers
完成此任务的最佳方法是 Powershell? Powershell 有类似 JavaScript 的过滤和比较 Array 方法吗?或者Foreach-match 或-eq 是最有效的编写方式吗?
谢谢!
【问题讨论】:
-
看看
.Where()收集方法。 [咧嘴]
标签: arrays powershell if-statement foreach foreach-object