Я довольно новичок в powershell (опыт 2 месяца), и я создаю свои собственные скрипты для автоматизации некоторых задач.Office 365 Online Sync, не может найти пользователя
Теперь я работаю над скриптом usercreation. Все работает нормально, пока я не прибуду в офис 365.
<Creating AD user based on template and filled info>
<Creating Exchange emailbox>
...
#Retrieving email to specify user
$email = (Get-ADUser $initials -Properties mail).mail
#Remoting into server that has Azure AD Sync installed and forcing sync
Invoke-Command -ComputerName <servername> -ScriptBlock {Start-ADSyncSyncCycle -PolicyType Delta} -Credential $AdminCredentials
#Waiting until sync is done, 30 seconds for testing purposes, can be lowered after some testing
Write-host "Waiting untill sync is done"
Start-Sleep -s 30
#Connecting to office365
Connect-MsolService -Credential $OfficeCredentials
#Creating Licence withouth exchange
$NoExchange = New-MsolLicenseOptions -AccountSkuId syndication-account:O365_BUSINESS_PREMIUM -DisabledPlans "EXCHANGE_S_STANDARD"
#applying licence to user
Set-MsolUserLicense -UserPrincipalName $email -LicenseOptions $NoExchange
Теперь эта последняя часть, где я получаю следующее сообщение об ошибке:
Set-MsolUserLicense : User Not Found. User: .
At <path>\UserCreation.ps1:145 char:1
+ Set-MsolUserLicense -UserPrincipalName $email -LicenseOptions $NoExchange
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [Set-MsolUserLicense], MicrosoftOnlineException
+ FullyQualifiedErrorId : Microsoft.Online.Administration.Automation.UserNotFoundException,Microsoft.Online.Administration.Automation.SetUserLicense
Значения пользователя не существует в Office 365 даже Тхо я вынудила синхронизируюсь и издала ожидание 30секунд (только, чтобы быть уверен, что его синхронизируются)
Если я пытаюсь найти пользователя после того, как скрипт возвращает эту ошибку, я могу найти его ...
Get-MsolUser -UserPrincipalName $email
Я попытался увеличить время ожидания до 60 с, но это, похоже, не делает никакого различия. Должен ли я «перезапустить» сценарий или что-то, чтобы найти пользователя, или есть ли другой способ, которым я могу это сделать?
Спасибо заранее!
Итак, тот факт, что, когда мой сценарий дал эту ошибку, я пошел и посмотрел, и пользователь был доступен в офисе365, было чистое совпадение? (произошло 3 раза на данный момент) – FroggyFreshh
Итак, после того, как вы его найдете, что произойдет, если вы снова запустите команду? это работает? вы пробовали настроить 'sleep' на 2-3-5 минут и посмотреть, как это происходит? – 4c74356b41
При попытке этого я только что узнал об ошибке в моем лицензировании, я сначала попытаюсь исправить это и вернусь к этой проблеме :) – FroggyFreshh