変なタイトルにしてしまいました。
SharePoint のサイトコレクションに外部ユーザーを招待しようとしたところ、エラーで招待できないトラブルがありました。よくよく調べると、そのユーザーは過去に一度招待をしていて、その後利用しなくなったので削除したような形跡がありました。外部ユーザーの削除はただアクセス許可レベルの削除だったり、 SharePoint グループから削除するだけでは完全には削除できないようで、最終的に PowerShell を使う事になったので備忘録として残しておきます。
※以下、スクショはボカシ多めでスミマセン。
▼招待で外部ユーザーのアドレスを入力するとなぜかエントリーが一致したと(すでにおかしい)。ちなみに複数って書いてあるのに実際は1つだけ候補が出る。
▼エントリから選択すると、表示名に変わりました。はじめて外部招待をするユーザーの場合、この挙動はありえませんね。
▼招待しようとすると原因がよくわからない感じのエラー文章でエラーが
▼アクセス依頼ページを見ると、該当ユーザーは過去に招待され承諾していた事が判明
▼ SharePoint 管理センターのユーザープロファイルで調べても該当ユーザーは出てこない
スクショはありませんが、AzureADの方でも該当ユーザーは出てきません。このような状態でも亡霊として残っていて、つまり、この時点ですでにGUI上での調査・対応は手詰まりでした。
ここで、僕の苦手な PowerShell 登場させます。
(以下は PowerShell を知らない僕がやっているので間違っている可能性もあります。)
【1】まずは接続
$cred = Get-Credential Connect-SPOService -Url https://yoursite-admin.sharepoint.com -Credential $cred
【2】ユーザー一覧を表示
Get-SPOUser -Site https://yoursite.sharepoint.com/sites/hogehoge | FT –a
【3】亡霊を除霊
Remove-SPOUser -Site https://yoursite.sharepoint.com/sites/hogehoge -LoginName hogehoge#ext#@yoursite.onmicrosoft.com
※ LoginName の[ hogehoge#ext#@yoursite.onmicrosoft.com ]は【2】で表示された Login Name に置き換え。
これで除霊完了です。
▼除霊した事により、外部ユーザーの招待をしようとすると、先程とは挙動が異なり、招待できます。
こんな事までしないといけないとは、まさしく亡霊ですね…。