Autor: Martin Bradáč
Skripty v PnP PowerShellu přímo svádí k tomu, aby byly spouštěné jako naplánovaná úloha. Windows disponují plánovačem úloh, který dokáže spouštět programy v naplánovaném čase, případně po spuštění systému a podobně. Přihlášení k SharePointu bez zásahu uživatele ale dokáže potrápit.

Standardní příkaz pro přihlášení k SP webu Connect-PnPOnline -Url https://micka.sharepoint.com/sites/kurzPA se spoléhá na uživatelkou interakci – zadání jména a hesla. Technik jak toto obejít je několik, ale můžete narazit na různé nepřekročitelné překážky dané bezpečnostní politikou vaší organizace. Jeden z nejspolehlivějších způsobů je vytvoření účtu aplikace přímo na SharePointu a využití nově získaného loginu k bezobslužnému přihlášení. Postup není zcela user-freindly, ale funguje.

Registrace aplikace

Do prohlížeče zadejte následující adresu, kterou upravíte dle svého prostředí Https://!!!!!váštenant!!!!!!!.sharepoint.com/_layouts/15/appregnew.aspx
Ve formuláři vyplňte všechna pole. Adresa aplikace a URI klidně ponechte podle obrázku, název aplikace si zvolte podle sebe. Klikněte na tlačítka vygenerovat, získáte tak ID a tajný klíč. Oba údaje si uložte, budete je potřebovat

Po kliknutí na tlačítko vytvořit, už budete přesměrováni na potvrzující stránku.

Udělení důvěryhodnosti

Nyní vložte tuto stránku – tentokrát použijte název tenanta-admin!!!
https:// !!!!!váštenant!!!!!!!-admin.sharepoint.com/_layouts/15/appinv.aspx
Formulář má mírně zavádějící pojmenování polí. Do ID aplikace vložte hodnotu ID klienta z předchozího kroku a klikněte na „vyhledat“. Zbylá pole se načtou sama. Zbývá jen textová oblast pro XML požadavek. Vložte do ní následující:

<AppPermissionRequests AllowAppOnlyPolicy="true"> <AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="FullControl" /> </AppPermissionRequests>

Klikněte na „Odeslat“. Pokud vše proběhlo správně, budete vyzváni k potvrzení.

Přihlášení v PnP PowerShell

Tímto jste získali účet aplikace, který využijete v PowerShell skriptu namísto ověřování uživatelem. Nyní můžete upravit svůj skript následovně:

Connect-PnPOnline -Url https://contoso.sharepoint.com/sites/demo -ClientId [Your Client ID] -ClientSecret "[Your Client Secret]"

Takto vytvořené přihlášení je nezávislé na přihlášeném uživateli k systému, na kterém běží a lze ho tak provozovat i na serveru.