SharePointグループのユーザー一覧について

こんにちは、SSSメンバーです。

SharePointグループのユーザー一覧をエクスポートしたい場合、どうすれば良いかご存知でしょうか。

早速ですが、SharePointグループのユーザー一覧をエクスポートする方法をご紹介させていただきます。


1.グループごとにユーザーのリストを取得するためのREST呼び出しを作成します。
グループIDを取得するには、SharePointグループのメンバーページに移動し、URLの最後にある番号を確認します。

こちらの 3 です。

/_layouts/15/people.aspx?MembershipGroupId=3

そしてこの部分をコピーし、括弧の中に確認した番号を入れます。

/_api/Web/SiteGroups/GetByID(3)/Users

例:

SharePointグループのメンバーページ:

https://xxxxxxxxx.sharepoint.com/sites/wawawawa/_layouts/15/people.aspx?MembershipGroupId=3

REST呼び出し:

https://xxxxxxxxx.sharepoint.com/sites/wawawawa/_api/Web/SiteGroups/GetByID(3)/Users

2.ブラウザの別タブで「REST呼び出し」のURLを貼り付けてEnterします。

3.表示されたすべて内容をコピーし、txtファイルに保存し、拡張子を[.xml]に変更します。

4.Excelで、作成した新しい.xmlファイルを参照して選択し、このファイルを「XMLテーブルとして開く」を選択し、「OK」をクリックします。
二つメッセージが出てきますが、すべて「OK」をクリックすれば、大丈夫です。

5.データは、ユーザーごとに重複がある状態で表示されます。
ログイン名に基づいて重複を削除することで、これをクリーンアップできます。
まず、インポートしたテーブルの任意の場所をクリックし、「テーブルデザイン」から「ツール」タブで「重複の削除」をクリックします。

6.「すべて選択解除」をクリックし、分かりやすく日本語で書いてある「ns4:Title」をチェック入れて、「OK」をクリックします。

7.重複が削除されたというメッセージが出てきますので、「OK」をクリックします。

ご参考いただければ幸いです。

弊社のSSSサービスは、SharePointに関するお問い合わせが回数無制限のサポートサービスです。
もし興味がありましたらお気兼ねなく「お問合せ」からご連絡下さい。

AppIdとAppSecretについて

こんにちは、SSSメンバーです。

SharePoint PnP PowerShellを使用する際、ログイン後もサブサイト毎に認証画面が表示されてしまいます。
認証画面がサブサイト毎に表示されないようにする方法はご存知でしょうか。

SharePoint PnP PowerShellを利用した際によくある事例について紹介させていただきます。

通常SharePoint PnP PowerShellからMFAを有効したアカウントでログインする場合、下記の2種類方法があります。

『1.-UseWebLoginを使用して、接続する方法』

$SiteURL = “https://crescent.sharepoint.com”
Connect-PnPOnline -Url $SiteURL -UseWebLogin

『2.セキュアクライアントアプリを登録した上で、クライアントアプリで接続する』

$SiteURL = “https://crescent.sharepoint.com”
Connect-PnPOnline -Url $SiteURL -AppId “アプリID”

※多要素認証 (MFA) とは、ユーザーの ID を、複数の信用情報を要求することにより検証するセキュリティシステムです。

このうち、『2.クライアントアプリで接続する』を行った場合、以下のメッセージが表示されることがあります。
この場合’AppId’と’AppSecret’にはどうすれば良いでしょうか?

*警告: パラメーター ‘AppId’ は最新ではありません。Use ClientId instead
*警告: パラメーター ‘AppSecret’ は最新ではありません。Use ClientSecret instead

エラーメッセージの’AppId’は’クライアントID’、’AppSecret’は’クライアントシークレット’です。

MFAを有効化したユーザーからSharePoint Onlineへアクセスする際、ブラウザーを起動するのは標準の動きとなります。
それを回避したい場合、下記のアプリ専用トークンを使用して、アプリにテナントに対して管理権限を割り当てます。
クライアントIDとクライアントシークレットを使用して、SharePointへ接続できます。

クライアントIDとクライアント シークレットを作成する手順を下記にご案内いたします。


1.サイトコレクション管理者からブラウザーで下記のURLを呼び出します。

https://{tenant}.sharepoint.com/_layouts/15/appregnew.aspx

2.アプリ作成画面が表示されるので、クライアント ID とクライアント シークレットにて、それぞれ [生成] をクリックします。

 タイトルに任意の名前をしています
 アプリドメインリダイレクト先のURLにダミー値を記載します

3.「作成」をクリックします。

4.「アプリ ID が正常に作成されました。」が表示され、下の内容をコピーして、後で使うため、TXTとかに貼り付けて、「OK」をクリックします。

5.SharePointの全体管理者からSharePointの管理サイトへ下記のURLへサクセスします。

https://{tenant}-admin.sharepoint.com/_layouts/15/appinv.aspx

6.アプリの権限付与画面が表示されるので、「アプリ ID:」に生成されたクライアントID番号を入力し、「参照」をクリックします。

7.「タイトル:」と「アプリ ドメイン:」と「リダイレクト先のURL」が自動的に入力されたら。大丈夫です。

8.「権限の要求 XML:」にしたの内容を貼り付けて、「作成」をクリックします。

※この権限はテナント全体フル権限となりますので、非常に強力です。しかし、クライアント ID やシークレットとなる情報に尽きましては、管理者アカウント・パスワードと同様、厳重に管理してくださいますようお願いします。

9.「(アプリ名) を信頼しますか?」が出てきますので、「信頼する」をクリックします。

10.SharePoint PnP PowerShellで以下のコマンドを実行し接続します。

Connect-PnPOnline -Url https://yoursite -ClientId “クライアントID” -ClientSecret “クライアント シークレット”


ご参考になれば幸いでございます。

弊社のSSSサービスは、SharePointに関するお問い合わせが回数無制限のサポートサービスです。
もし興味がありましたらお気兼ねなく「お問合せ」からご連絡下さい。