Кто-нибудь пользовался? я много раз ловил себя на мысли, вот было бы хорошо запустить некий скрипт в параллельную работу, но всегда ограничивался запуском нескольких окошек powershell, сейчас увы так поступить не получается, т.к. 100 окошек запускать лень, прошу помощи
есть скрипт:
cls
$error.Clear()
$adm1 = Get-Credential "domain1\user1"
$adm2 = Get-Credential "domain2\user2"
$ShareObjList = "server1@domain1@E:\@E:\share
server2@domain2@E:\@E:\share
server3@domain2@E:\@E:\blabla
server4@domain1@D:\@D:\share
server5@domain1@G:\@G:\soft" -split "\n" | % {$_.trim()} | ? {$_}
foreach ($ShareObj in $ShareObjList){
$ShareObj = $ShareObj -split "@" | % {$_.trim()}
$Share = $null
$Share = ("\\"+$($ShareObj[0])+"\"+$($ShareObj[3])).replace("$($ShareObj[2])","")
$Cred = $null
if ($ShareObj[1] -eq "domain2"){$Cred = $adm2}
else {$Cred = $adm1}
if ((Get-PSDrive "SH" -ErrorAction SilentlyContinue) -ne $null){Remove-PSDrive "SH" -Force -Verbose}
New-PSDrive -Name "SH" -PSProvider FileSystem -Root $Share -Credential $Cred
$result = $null
$result = @()
$result += Get-ChildItem "SH:\" -Recurse -Force | ? {$_.PSIsContainer -eq $true} | ? {(get-acl $_.fullname -Audit).AreAuditRulesProtected -eq $true} | % {$_.fullname}
$error | Select TargetObject,Exception | Export-Csv $("D:\Аудит\Error_" + $($Share.Replace("\\","")).replace("\","_") + ".txt") -NoTypeInformation -Encoding Default
$result | Out-File $("D:\Аудит\Audit_" + $($Share.Replace("\\","")).replace("\","_") + ".txt") -Encoding utf8
}
есть примеры с workflow, но у меня пока мозгов не хватает, помогите пож, мб есть у кого рабочий пример
Updated: 20 November 2019, 17:36:42
Симптоматично выглядит пример:
workflow work {
foreach -parallel ($i in 1..3) {
sleep 5
"$i done"
}
}
work
но возникает вопрос, есть ли какие-то ограничения?
как себя будут чувствовать переменные $result и $error?