Power Shell 循环脚本?

Power Shell Script for loop?

我正在尝试在 PowerShell 中创建一个脚本,以 运行 具有一些默认参数的实用程序。将有多个 IP 地址到我们需要导入的 CSV 文件中。然后为导入的每个 IP 地址循环 运行 实用程序。

Set-Location 'C:\Program Files\Utility
$printerlist = Get-Content ".\Printer.csv"
$pass = Read-Host "Enter your Password"

.\Utility.exe -USERNAME="ADMIN" -PASSWORD="$pass"-ADDRESS="$printerlist" -PP-INSTALL="192.168.33.21" -JA-INSTALL="192.168.33.21" -IPA-INSTALL="192.168.33.21" -QUOTA-DELETE 

Foreach($printer in $printerlist){
   echo $line

}

正如评论所指出的,您需要遍历这些 IP 地址。您可以使用称为 splatting 的功能来应用一组默认参数:

Set-Location -Path $Env:ProgramFiles\Utility

$pass = Read-Host -Prompt 'Enter your Password'
$utilArgs = @(
    '-USERNAME="ADMIN"'
    "-PASSWORD=""$pass"""
    '-PP-INSTALL="192.168.33.21"'
    '-JA-INSTALL="192.168.33.21"'
    '-IPA-INSTALL="192.168.33.21"'
    '-QUOTA-DELETE'
)

foreach ($printer in Get-Content -Path Printer.csv) {
    .\Utility.exe "-ADDRESS=""$printer""" @utilArgs
}

文档

about_Splatting