0

sharepoint にアカウントを持つすべてのユーザーを一覧表示するスクリプトがあります。ただし、すべてがリストされているわけではありません。たとえば、リストされているのは 5/8 マークのみです。

私はpowershellとクエリを使用しています:

"<Query><OrderBy><FieldRef Name='ID' /></OrderBy></Query>"

なぜすべてが表示されないのかわかりません。それらはポータルと管理センターの下にあります。

4

3 に答える 3

2

ユーザーは、サイトにログインするか、特定の権限を付与すると (AD グループ経由ではなく)、ユーザー情報リストに追加されます。

詳細については、SharePoint.StackExchange.comのユーザー情報リストにどのように入力されますか? を参照してください。

于 2013-06-27T21:18:40.820 に答える
2

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 アプリケーションにいるユーザーを表示できます。 ここに画像の説明を入力

答えがあなたに役立つことを願っています

于 2013-06-28T02:45:18.930 に答える
1

代わりに、すべてのユーザー プロファイルを一覧表示することで改善できると思います。これにより、少なくとも 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  
}
于 2013-06-28T06:48:15.393 に答える