首页 > 解决方案 > 循环powershell脚本

问题描述

我来自 Linux 世界,目前被 powershell 卡住了。我运行 pwsh 脚本,它根据给定的设备序列号检查 DELL 设备的保修:

.\Get-DellWarrantyInfo.ps1 GZ80E5X2

输出如下所示:

Service Tag   : GZ80E5X2
Model         : POWEREDGE R740XD
Type          : poweredge-r740xd
Ship Date     : 05-07-19
Warranty Exp. : 05-08-22

我有要检查设备序列号的文本文件,所以我想一次检查它们。有没有办法在powershell中实现这种自动化?

就像我从 Bash 知道的那样:

for serial in `cat list.txt`; do runscript $serial; done

提前谢谢了!

标签: powershellloops

解决方案


这些中的任何一个都应该工作

foreach ($serial in (Get-Content list.txt)){
    .\Get-DellWarrantyInfo.ps1 $serial
}

或者

Get-Content list.txt | ForEach-Object {.\Get-DellWarrantyInfo.ps1 $_ }

如果这样更舒服,您可以cat用作别名。Get-Content您可能会看到命令别名列表使用Get-Alias


推荐阅读