Это мой сценарий для установки Прошивки на нескольких устройствах по одному.
Param(
[Parameter(Mandatory=$true)][string[]]$IPset,
[Parameter(Mandatory=$true)][string] $NewFirmwarePath
)
$sp=$NewFirmwarePath -split "\\"
$firmware=$sp[$sp.Length -1]
foreach ($ip in $IPset)
{
$uri="http://"+$ip+"/xat?filename="+$firmware
try
{
Invoke-RestMethod -Method Put -Uri $uri -InFile $NewFirmwarePath
Write-host "Device IP:" $IP "is updated successfully"
}
catch
{
Write-Host "Device IP:" $IP " is failed to update"
}
}
Но я хочу сделать так, чтобы прошивка устанавливалась на нескольких устройствах параллельно. Похоже, что Powershell Core не поддерживает рабочий процесс (foreach -parallel
). Поэтому я попытался выполнить задания, но Джобсу не удалось получить доступ к одному и тому же исходному файлу для установки на нескольких устройствах.
Пожалуйста, помогите мне, как я могу заставить его работать параллельно.