sharepoint にアカウントを持つすべてのユーザーを一覧表示するスクリプトがあります。ただし、すべてがリストされているわけではありません。たとえば、リストされているのは 5/8 マークのみです。
私はpowershellとクエリを使用しています:
"<Query><OrderBy><FieldRef Name='ID' /></OrderBy></Query>"
なぜすべてが表示されないのかわかりません。それらはポータルと管理センターの下にあります。
sharepoint にアカウントを持つすべてのユーザーを一覧表示するスクリプトがあります。ただし、すべてがリストされているわけではありません。たとえば、リストされているのは 5/8 マークのみです。
私はpowershellとクエリを使用しています:
"<Query><OrderBy><FieldRef Name='ID' /></OrderBy></Query>"
なぜすべてが表示されないのかわかりません。それらはポータルと管理センターの下にあります。
ユーザーは、サイトにログインするか、特定の権限を付与すると (AD グループ経由ではなく)、ユーザー情報リストに追加されます。
詳細については、SharePoint.StackExchange.comのユーザー情報リストにどのように入力されますか? を参照してください。
PowerShell スクリプト (ListWebUserInformationListItems.ps1 という名前) を次のように記述できます。
# Run with SharePoint 2010 Management Shell
$webUrl = Read-Host "Enter the web url"
$web = Get-SPWeb $webUrl
$list = $web.Lists["User Information List"]
$query = New-Object Microsoft.SharePoint.SPQuery
$queryCamlString = '<Query><OrderBy><FieldRef Name="Title" Ascending="True" /></OrderBy></Query>'
$query.Query = $queryCamlString
$userInformationListItems = $list.GetItems($query)
foreach($userInformationListItem in $userInformationListItems)
{
echo $userInformationListItem.Title
}
次に、スクリプトを実行し、コンソール ウィンドウに「Web URL を入力してください」というメッセージが表示されたら、Web URL を入力します。
注: SPQuery を使用して、この Web アプリケーションのユーザーであるユーザー情報リスト アイテムを取得できます。ユーザーは、ファーム内のすべてのユーザーではありません。また、ADGroup を SharePoint に追加すると、SharePoint ユーザーが 1 人だけユーザー情報リストに追加されます (SharePoint ユーザーは ADGroup の略で、ADGroup の ADUser はユーザー情報リストに表示されません)。
ユーザー情報リスト項目のタイトルがコンソール ウィンドウに表示されます。
詳細: 「http://[ Web アプリケーションの URL]/_catalogs/users/detail.aspx」にアクセスして、Web アプリケーションにいるユーザーを表示できます。
答えがあなたに役立つことを願っています
代わりに、すべてのユーザー プロファイルを一覧表示することで改善できると思います。これにより、少なくとも SharePoint に同期されたすべてのユーザーのリストを取得できます。何かのようなもの:
$site = Get-SPSite "your URL"
$context = Get-SPServiceContext $site
$profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context)
$profiles = $profileManager.GetEnumerator()
foreach($profile in $profiles)
{
$displayName = $profile.DisplayName
}