Convert-MSOLDomainToStandard実行時1,000 を超えるフェデレーションユーザーが存在する場合のエラー

現象
Convert-MSOLDomainToStandard 実行時、1,000 を超えるフェデレーションユーザーが存在すると、以下のエラーが発生し、一時パスワードが生成されません。

MsolDomainToStandard : A protocol error occurred.
At line:1 char:29
+ Convert-MsolDomainToStandard <<<<  -DomainName <DomainName> -PasswordFile c:\password.txt -SkipUserConversion $false
    + CategoryInfo          : NotSpecified: (:) [Convert-MsolDomainToStandard]
   , DirectoryOperationException
    + FullyQualifiedErrorId : A protocol error occurred.,Microsoft.Online.Identity.Federation.Powershell.ConvertDomainToManaged

原因
フェデレーションユーザーが 1,000 を超える場合に発生します。

回避策
PowerShell スクリプトを使用した、以下の方法で回避できます。

方法 : 

  1. プライマリの AD FS サーバーに管理者でログインします。
  2. [スタート]、[すべてのプログラム]、[Microsoft Azure Active Directory] の順にクリックし、[Windows PowerShell 用Microsoft Azure Active Directory モジュール] を管理者として実行して、Windows PowerShell 用Microsoft Azure Active Directory モジュールを起動します。
  3. 起動した PowerShell で、以下のコマンドを順に実行して、Office 365 に接続します。

    $cred = Get-Credential

    入力を促されたら、SSO が有効化されていない Office 365 管理者資格情報を入力します 。

    Connect-MsolService -cedential $cred

  4. 以下のコマンドを実行して、対象のドメインを Federated から Managed に変換します。 

    Convert-MSOLDomainToStandard -DomainName <FederatedDomainName> -SkipUserConversion $true -PasswordFile c:\userpasswords.txt

  5. 以下のコマンドを実行します。

    Start-Transcript


    以下のような結果が返ってきます。
    -------------------------------------------
    トランスクリプトが開始されました。出力ファイル: C:\Users\xxxx\Documents\PowerShell_transcript.20130603184358.txt
    -------------------------------------------

    このコマンドを実行することで、Federated から Managed へ変更されたユーザーの一時パスワードがファイルに出力されます。
  6. 以下のPowerShell スクリプトの1行目 [Domain Name to Convert] を対象のドメイン名に変更します。

    $Users = Get-MsolUser -All -DomainName [Domain Name to Convert]foreach ($User in $Users){  try {    $Upn = $User.UserPrincipalName    $Pw = Convert-MsolFederatedUser -UserPrincipalName $Upn -ErrorAction Stop    $Upn + "`t" + $pw  }  catch {    try {      $Pw = Set-MsolUserPassword -UserPrincipalName $Upn -ErrorAction Stop      $Upn + "`t" + $pw    }    catch {      "--------"      $Upn + "`r`n" + $_.Exception.GetType().FullName + "`r`n" + $_.Exception.Message      "--------"    }  }}
  7. 上記 PowerShell スクリプトを実行します。
  8. 以下のコマンドを実行します。

    Stop-Transcript


    以下のような結果が返ってきます。
    -------------------------------------------
    トランスクリプトが停止されました。出力ファイル: C:\Users\xxxx\Documents\PowerShell_transcript.20130603184358.txt
    -------------------------------------------

    Federated から Managed へ変更されたユーザーの一時パスワードが出力ファイルに保管されます。

注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2888175 - 最終更新日: 09/29/2016 10:43:00 - リビジョン: 4.0

Office 365

  • KB2888175
フィードバック