SharePoint App User in einer SharePoint OnPremise Umgebung registrieren

Der Zugriff auf SharePoint Inhalte über eine Dritt-Applikation sollte über einen SharePoint App User erfolgen. Das folgende PowerShell Skript legt einen SharePoint App User in einer SharePoint OnPremise Farm an.

param(
    [System.String]$clientId,
    [System.String]$appUserName,
    [System.String]$appCatalogUrl
)

if([System.String]::IsNullOrEmpty($clientId))
{
    Write-Error "Der Parameter clientId darf nicht leer sein. Bitte eine gültige ID in Form einer Guid übergeben"
    return;
}

if([System.String]::IsNullOrEmpty($appUserName))
{
    Write-Error "Der Parameter appUserName darf nicht leer sein. Bitte einen Namen angeben, der die Zuordnung des App Users zu einer Applikation identifiziert";
    return;
}

if([System.String]::IsNullOrEmpty($appCatalogUrl))
{
    Write-Error "Der Parameter appCatalogUrl darf nicht leer sein. Bitte die Site Url zum App Katalog angeben";
    return;
}

Add-PSSnapin "Microsoft.SharePoint.Powershell"

Write-Output "Lade Web $appCatalogUrl"
$web = Get-SPWeb -Identity $appCatalogUrl
 
Write-Output "Lese Authentication Realm"
$realm = Get-SPAuthenticationRealm -ServiceContext $web.Site;
Write-Output "Authentication Realm ist $realm"

Write-Output "Erzeuge App Identifier"
$appIdentifier = $clientId  + '@' + $realm;
Write-Output "App Identifier ist $appIdentifier";

Write-Output "Registriere App User $appUserName"
Register-SPAppPrincipal -DisplayName $appUserName -NameIdentifier $appIdentifier -Site $web | Out-Null
Write-Output "App User registriert"

Write-Output "ClientId: $clientId";
Write-Output "App User: $appUserName";

 

Die PowerShell Befehle sind in einer Datei mit dem Namen Create-SPAppUser.ps1 anzulegen.

Das PowerShell Skript wird mit folgenden Parametern aufgerufen:

.\Create-SPAppUser.ps1 -clientId "[GUID]" -appUserName "[SharePoint App User Name]" -appCatalogUrl "[Url zu einer SharePoint Website]"

Die Platzhalter [Guid], [SharePoint App User Name] und [Url zu einer SharePoint Website] sind durch entsprechende Werte zu ersetzen.

Nach der Skriptausführung ist der SharePoint App User in der SharePoint Farm angelegt.

Ob der SharePoint App User tatsächlich verfügbar ist, lässt sich auf einer SharePoint Website auf folgender Seite prüfen:

[SharePoint Website Url]/_layouts/15/appinv.aspx

Im Feld App-ID wird die ClientID des gesuchten SharePoint App Users eingetragen. Mit der Schaltfläche Nachschlagen wird der SharePoint App User gesucht. Sollte der SharePoint App User verfügbar sein, wird der Name des SharePoint App Users im Feld Titel angezeigt.

 

Kommentar schreiben