ディレクトリ同期で同期されない携帯番号

Office365でディレクトリ同期を行うと、ローカルのActiveDirectoryのオブジェクトならびにその各属性がOffice365側に同期されます。情報の不整合を防ぐ為に、基本的にディレクトリ同期で転送されたオブジェクトの情報はOffice365側では編集できません。

ただ、ユーザーの管理から、よく見ると一カ所だけ編集できるところがあります。それは携帯電話の番号です。ここに番号を入れればひょっとして値を変えられるのでしょうか?

そう、ここに値を入れると、Office365側の属性が書き換わります。ただ、この情報はローカルのActiveDirectoryには反映されません(ディレクトリ同期が一方向同期なので)

また、こちらに一度でも値を入れたユーザは、ディレクトリ同期項目から携帯電話の番号が除外されます。

つまり、今後会社携帯の番号が変わったからといってローカルのADで携帯番号を入れても、それはOffice365側には伝わらず、完全に別々の物として扱われるようになります。(ディレクトリ同期ではエラーも無く更新が成功したように見えるのですが、完全に無視されます)

また、一度もOffice365側で変更されたことのないユーザーについては、他の属性同様通常通り同期されるようになります。どうしてなのかは理由が分からないのですが、途中までは携帯も編集不可項目だったように思えるので、ベータテストの途中からそういった仕様に変更されたのではないでしょうか。

最近の個人情報関係の意識の高まりもありますので、携帯電話の番号をWeb上に載せたくないという要望もあるでしょうから、ユーザーが自信の情報公開範囲を限定したいというニーズに応える為ということであれば考えられなくもないかなとは思いますが、どちらかというとActiveSyncやSMS(まだ使えないですが)とかの機能でどうしてもOffice365側でMobileの番号の編集権限がないと困る物が有るのではないかなと考えてます。

変更処理自体はユーザが勝手に出来てしまう処理なので、管理者側ではどうしようもない事かと思いますが、どうしても管理者が一元的に同期するよう制御したいのであれば、だいぶ力業になりますが、ADならびにOffice365へのPowerShell接続ができる端末から、以下のようなスクリプトを定期的に実行することにより、強制的にローカルのADの情報をOffice365に同期できるようになります。(タスクなどで自動実行にするにはCredentialを保存して自動ログインにするなどの変更が必要です)

$LiveCred = Get-Credential
Connect-MsolService -Credential $LiveCred
$ADUser = $ADUsers = $MSOLUser = $MSOLUsers = $null
$i = 0
$ADUsers = Get-ADUser -properties Mobile -filter * | Select-Object UserPrincipalName,Mobile,SamAccountName
$MSOLUsers = Get-MSOLUser | Select-Object UserPrincipalName,MobilePhone
ForEach($ADUser in $ADUsers) {
  $MSOLUser = $MSOLUsers | Where-Object {$_.UserPrincipalName -eq $ADUser.UserPrincipalName}
  if([string]::isNullOrEmpty($MSOLUser.UserPrincipalName)){
    Write-Host "Skip - Office365に作成されていません: "$ADUser.SamAccountName
  }
  elseif($ADUser.mobile -ne $MSOLUser.MobilePhone ){
    Write-Host "ADの情報でOffice365を上書きします【"$ADUser.UserPrincipalName"】"
    Write-Host " - ActiveDirectory:"$ADUser.mobile" の値でOffice365:"$MSOLUser.MobilePhone"の値を上書きます"
    Set-MsolUser -UserPrincipalName $MSOLUser.UserPrincipalName -MobilePhone $ADUser.mobile
    Write-Host " - 完了しました"
    $i++
  }
}
Write-Host "終了: 計"$i"件の携帯電話番号レコードを同期しました"
Write-Host "(何かキーを押してください)"
[console]::ReadKey()

一元的に情報を扱うというのもなかなか難しいですね。っていうかこういった仕様とか制限とか、変更するのは構わないが、できれば公開情報にして貰いたいなぁ。

こちらですが、恐らく2011.秋に実装された管理者向けパスワードのセルフリセットツールで利用するためにこう言った設定になったと推測されます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です