2016-12-15 11 views
0

私はpowershell(2ヶ月の経験)には新しく、いくつかのタスクを自動化する独自のスクリプトを作成しています。Office 365オンライン同期、ユーザーが見つかりません

私はusercreationスクリプトを作成しています。私がオフィス365の部分に到着するまで、すべてうまく動作します。私は同期と待機30秒を発行した強制さえカントーOffice 365の中に存在しないユーザーを意味

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 

(ちょうどように:

<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 

は今、この最後の部分は、私は次のエラーを取得する場所です私は、ユーザーを見つけるためにしようとすると必ずその

Get-MsolUser -UserPrincipalName $email 

...スクリプトはこのエラーを返した後、私はそれを見つけることができます)

を同期

私は60秒に待ち時間を上げようとしましたが、それはどんな相違もしていないようです。 スクリプトや何かを見つけ出すためにスクリプトを「再起動」する必要がありますか、これについて他の方法がありますか?

ありがとうございました!

答えて

1

いいえ、あなただけのSleep間隔を増やすかStart-ADSyncSyncCycle-Waitパラメータ(それはいけない)があるかのようなものを書いてみてくださいかどうかを確認、スクリプトを再起動するか、まったく空想何もする必要はありません。

While ((Get-ADSyncConnectorRunStatus).Runstate -eq "Busy") { 
    Start-Sleep 10 
} 
+0

実際、私のスクリプトがそのエラーを出すと、私は行って見て、ユーザーはoffice365でavaibleだったという事実は純粋な偶然でしたか? (今のところ3回起こった) – FroggyFreshh

+0

それを見つけたら、コマンドをもう一度実行するとどうなりますか?それは動作しますか? 「スリープ」を2-3-5分に設定しようとしましたが、どうなっているのでしょうか? – 4c74356b41

+0

これを試している間に私は私のライセンス交付のエラーについて知りましたが、まずそれを修正してこの問題に戻ってきます:) – FroggyFreshh

関連する問題