Как распаралеллить powershell скрипт
Хочу массово создавать почтовики из файла. Если я запускаю код синхронно - всё работает. В один поток но работает, но когда пробую с помощью Job - выдаёт ошибку
Имя "New-MailContact" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте пр
авильность написания имени, а также наличие и правильность пути, после чего повторите попытку.
+ CategoryInfo : ObjectNotFound: (New-MailContact:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
+ PSComputerName : localhost
Такое ощущение будто блок не видит $Session. Подскажите в чем траблы могут быть
$pass="superpassword"|ConvertTo-SecureString -AsPlainText -Force
$creds = New-Object System.Management.Automation.PsCredential('[email protected]',$pass)
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $creds -Authentication Basic -AllowRedirection
Import-PSSession $Session
$block = {
Param($line,$Session)
$name = $line.Split('@')[0]
New-MailContact -Name $name -ExternalEmailAddress $line
}
foreach($line in Get-Content c:\mail.txt) {
Start-Job -Scriptblock $block -ArgumentList $line $Session
}
Get-Job
While (Get-Job -State "Running")
{
Start-Sleep 1
}
# Getting the information back from the jobs
Get-Job | Receive-Job
Disconnect-ExchangeOnline