Skip to content

Commit 7812186

Browse files
author
Luis Mengel
committed
fix: resolve SharePoint User Information List by template instead of localized display name
1 parent 49d1cd1 commit 7812186

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
Function Invoke-ListSiteMembers {
2+
<#
3+
.FUNCTIONALITY
4+
Entrypoint
5+
.ROLE
6+
Sharepoint.Site.Read
7+
#>
8+
[CmdletBinding()]
9+
param($Request, $TriggerMetadata)
10+
11+
$TenantFilter = $Request.Query.TenantFilter
12+
$SiteId = $Request.Query.SiteId
13+
14+
try {
15+
# Find User Information List by template (language independent)
16+
$Lists = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/sites/$SiteId/lists?`$select=id,list,system" -tenantid $TenantFilter -AsApp $true
17+
$UIList = $Lists | Where-Object { $_.list.template -eq 'userInformation' } | Select-Object -First 1
18+
19+
if ($UIList.id) {
20+
$Items = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/sites/$SiteId/lists/$($UIList.id)/items?`$expand=fields" -tenantid $TenantFilter -AsApp $true
21+
} else {
22+
$Items = @()
23+
}
24+
25+
$StatusCode = [HttpStatusCode]::OK
26+
$Body = @($Items)
27+
} catch {
28+
$StatusCode = [HttpStatusCode]::Forbidden
29+
$Body = Get-NormalizedError -Message $_.Exception.Message
30+
}
31+
32+
return ([HttpResponseContext]@{
33+
StatusCode = $StatusCode
34+
Body = @{ 'Results' = $Body }
35+
})
36+
}

0 commit comments

Comments
 (0)