トップ回答者
ユーザが重複して表示される

質問
-
■環境
SharePoint2013 & ドメイン環境
ADとユーザプロファイル同期は行っていない
■質問
Restore-SPSite コマンドを使い、サイトコレクションのバックアップからサイトのリストアを実施したのですが、その結果、
もとから登録されていたユーザの前に「i:0#.w|」という文字列が入ってしまいました。(ユーザに不整合が発生したので
しょうか。。。)
例:「i:0#.w|contoso\xxx」
もとから登録されていたユーザは権限が有効ではなくなっており、サイトに対しユーザを新規登録しないとアクセスできない状態です。
また、新規登録しようとすると、同じ名前のユーザが2行あらわれるようになり、そのうちの一つは「i:0#.w|」が入ったユーザです。
以下2点について分かる方がいれば教えていただけないでしょうか。
①2行あらわれないようにする方法(「i:0#.w|」が付与されるユーザをsharepoint上から削除するにはどうすればよいか)
②Restore-SPSite コマンドを使う際にユーザが無効とならない方法
よろしくお願いいたします。
- 編集済み 佐伯玲 2014年9月8日 2:07 会社名や個人名などを削除しました
回答
-
一応、考えられる原因を回答してみます。
ご記述頂いたユーザーの文字列は、クレームペース認証の文字列ですので、サイトコレクションのバックアップは、クラシック認証のバックアップをクレームベース認証にリストアしたものと考えられます。
リストアやマイグレーションの際に、ユーザー情報のマッピングを行う場合は、
stsadm -o migrateuser
を利用するのですが、今回は、ユーザーアカウントが一致している(ドメインもアカウントも同じ)ので、利用ができなさそうです。ですので、ユーザーマッピングではなく、リストアするWebアプリケーションをクラシック認証に変更しておいてリストアし、その後、クレームベースに戻すやりかたでは如何でしょうか。
例:
WebApp = Get-SPWebApplication [WebアプリケーションのURL]
$WebApp.UseClaimsAuthentication = "False"
$WebApp.Update()[ここでリストア実施]
WebApp = Get-SPWebApplication [WebアプリケーションのURL]
$WebApp.UseClaimsAuthentication = "True"
$WebApp.Update()また、SPWebApplicationには、MigrateUsersというboolean型の引数を取るメソッドがあり、これにtrueをセットすればうまくいくかもしれません。
http://msdn.microsoft.com/en-us/library/office/ee554321(v=office.15).aspx
(SharePoint 2010では使われていたメソッドですが、SharePoint 2013でobsoleteになっているメソッドですので、参考までに。。)上記は全くの未検証で、机上の情報ですので、検証環境でお試しする事をお勧めします。
# もう一つのワークフローのご質問は、発生条件(どのワークフローを選択した時なのか、特定のライブラリのみか)をもう少し詳細に書いて頂いた方が良いと思います。
すべての返信
-
こんにちは、hosojima さん
フォーラムオペレータの佐伯 玲 です。
以下のスレッドでもご案内させていただきましたがパートナーサポートコミュニティへ向けた投稿かもしれないと思いご案内させて頂いておりますのでご確認いただけましたらと思います。
SharePoint2010ベースのワークフロー: 設定画面が真っ白になり作成できない
http://social.technet.microsoft.com/Forums/ja-JP/3423695f-0935-499e-a002-2eafa3ae588e/sharepoint2010-?forum=Sharepoint2013
個人情報等削除させていただきました。
こちらのスレッドもスレッドを削除することができますのでご確認ください。
宜しくお願い致します。TechNet Community Support 佐伯 玲
-
一応、考えられる原因を回答してみます。
ご記述頂いたユーザーの文字列は、クレームペース認証の文字列ですので、サイトコレクションのバックアップは、クラシック認証のバックアップをクレームベース認証にリストアしたものと考えられます。
リストアやマイグレーションの際に、ユーザー情報のマッピングを行う場合は、
stsadm -o migrateuser
を利用するのですが、今回は、ユーザーアカウントが一致している(ドメインもアカウントも同じ)ので、利用ができなさそうです。ですので、ユーザーマッピングではなく、リストアするWebアプリケーションをクラシック認証に変更しておいてリストアし、その後、クレームベースに戻すやりかたでは如何でしょうか。
例:
WebApp = Get-SPWebApplication [WebアプリケーションのURL]
$WebApp.UseClaimsAuthentication = "False"
$WebApp.Update()[ここでリストア実施]
WebApp = Get-SPWebApplication [WebアプリケーションのURL]
$WebApp.UseClaimsAuthentication = "True"
$WebApp.Update()また、SPWebApplicationには、MigrateUsersというboolean型の引数を取るメソッドがあり、これにtrueをセットすればうまくいくかもしれません。
http://msdn.microsoft.com/en-us/library/office/ee554321(v=office.15).aspx
(SharePoint 2010では使われていたメソッドですが、SharePoint 2013でobsoleteになっているメソッドですので、参考までに。。)上記は全くの未検証で、机上の情報ですので、検証環境でお試しする事をお勧めします。
# もう一つのワークフローのご質問は、発生条件(どのワークフローを選択した時なのか、特定のライブラリのみか)をもう少し詳細に書いて頂いた方が良いと思います。