Instalace PnP PowerShell

Dnes vám ukážu, jak nainstalovat PowerShell modul PnP

PnP PowerShell je multiplatformní modul pro PowerShell, který poskytuje více než 650 rutin, které pracují s prostředími a produkty Microsoft 365, jako jsou SharePoint Online, Microsoft Teams, Microsoft Planner, Microsoft Flow a další. Funguje v systémech Windows, Linux a MacOS.

Obsah

PnP.PowerShell vs Sharepoint Online Management Shell

Než se podíváme na to, jak PnP PowerShell nainstalovat, je dobré vědět, že existuje také modul PowerShell od společnosti Microsoft. Jedná se o SharePoint Online Management Shell (SPO) a jedná se o oficiální PowerShell modul, který je určený právě pro správu prostředí SharePoint Online.

Ještě si pojďme říct, jaké jsou mezi SPO a PnP hlavní rozdíly.

  • SPO slouží ke správě SharePointu na úrovni tenantu, zatímco PnP PowerShell umožňuje připojit se ke konkrétnímu webu SharePointu.
  • Rutiny prostředí PnP PowerShell obsahují více parametrů, což umožňuje realizovat složitější úlohy ve srovnání s ekvivalentními rutinami prostředí SPO.
  • SPO cmdlety se spouštějí v kontextu práv správce tenantu, zatímco PnP PowerShell se spouští v kontextu aktuálního uživatele (můžete se samozřejmě připojit s přihlašovacími údaji správce)

Každý z nich má své výhody. Pokud chcete spouštět příkazy na konkrétním webu SharePointu nebo v kontextu aktuálního uživatele, použijte PnP PowerShell. Potřebujete-li změnit nastavení na úrovni tenantu, použijte rutiny SPO.

Instalace PnP PowerShell

Aby bylo možné PnP modul nainstalovat, je nutné mít PowerShell prostředí verze 7.

Dále je potřeba odinstalovat starou verzi modulu, která se jmenovala SharePointPnPPowerShellOnline.

Zda máte nainstalovanou verzi tzv. legacy modulu zjistíte příkazem:

Get-Module SharePointPnPPowerShellOnline -ListAvailable | Select-Object Name,Version | Sort-Object Version -Descending

Pokud je modul přítomen, příkaz vypíše jeho název a verzi. Každopádně, tuto verzi je potřeba odinstalovat pomocí příkazu:

Uninstall-Module SharePointPnPPowerShellOnline -Force -AllVersions

Samotnou instalaci provedete pomocí příkazu

Install-Module PnP.PowerShell

Tím se stáhne a nainstaluje modul PnP prostředí PowerShell z PowerShell Galerie.

Posledním krokem je udělení souhlasu (Consent) pro udělení oprávnění k tenantu pro Entra ID (Azure AD) Enterprise aplikaci. Po spuštění níže uvedenho příkazu budete vyzváni k udělení souhlasu s řidělením oprávnění k tenantu. V tomto kroku se musíte přihlásit účtem oprávněním Global Admin (nebo Tenant Administrator) a tento krok dokončit.

Register-PnPManagementShellAccess

Pokud nedisponujete oprávněním Global Admin nebo Tenant Admin, použijte výše uvedený příkaz s parametrem -ShowConsentUrl a po vyzvání se ověřte svým uživatelským účtem. Příkaz vygeneruje URL, kterou si zkopírujte, zašlete vašemu IT správci, který disponuje patřičným oprávněním a požádejte jej o udělení souhlasu.

To je vše, PnP PowerShell je nainstalován. Přihlásit se můžete prostřednictvím následujících příkazů:

# Prihlaseni pomoci PnP PowerShell
Connect-PnPOnline -Url "https://vas_tenant.sharepoint.com" -Interactive

# Prihlaseni ke konkretni Sharepoint Site
Connect-PnPOnline -Url "https://vas_tenant.sharepoint.com/sites/Site" -Interactive

# Odhlaseni
Disconnect-PnPOnline

Další základní příkazy, díky kterým si můžete otestovat, že PnP PowerShell funguje správně:

# Ziska vsechny seznamy
Get-PnPList

# Ziska informace o Sharepoint webu
$Web = Get-PnPWeb 
$Web 

# Ziska Site Administratory
$SiteAdmins = Get-PnPSiteCollectionAdmin 
$SiteAdmins 

# Ziska Site Collection Administratory a oddeli je carkou
$SiteCollectionAdmins = ($SiteAdmins | Select -ExpandProperty Title) -join "," 
$SiteCollectionAdmins

# Vypise vsechny podporovane cmdlety
Get-Command -Module PnP.Powershell

PnP PowerShell skript jako Azure Runbook

Pokud chcete pouštět skripty automatizovaně a bezpečně bez nutnosti řešit hesla a poveření, koukněte na článek Automatizace skriptů PnP PowerShell – Azure Automation.

Videonávod

Závěrem

Pokud potřebujete ve vaší organizaci pomoct s migrací do Microsoft 365 nebo Azure, vyřešit zabezpečení nebo proškolit uživatele, ozvěte se mi, určitě něco vymyslíme.

Napsat komentář