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
我正在尝试在 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
}