Office 365 PowerShell – 4. del

V prejšnjem članku sem pisal o povezavi in upravljanju storitve Exchange Online. V tokratni številki pa končno pride na vrsto tudi moja specialiteta, in sicer SharePoint in SharePoint Online.

SharePoint je kot po navadi v zgodbi Office in serverskih produktov zgodba zase. Ker za SharePointom stoji zelo močen community, se je tudi pri SharePoint Online to pokazalo kot zelo močna veja razvoja, ki je na nek način tudi začrtala smer razvoja Microsoftovemu razvojnemu oddelku za SPO.

SharePoint Online – Official

Za upravljanje SPO imamo na voljo 2 različici za upravljanje našega online okolja. Prva možnost je uradna različica, ki je bila razvita s strani Microsoft razvijalcev, in druga, ki jo je spisal Erwin Van Hunen in je pridobila na ugledu in uporabi do tolikšne mere, da je sedaj koda, ki jo Erwin razvija, podpisana z Microsoftovim certifikatom.

Namestitev komponent

Da bi lahko začeli uporabljati SharePoint Online Management Shell, si moramo najprej prenesti namestitvene datoteke na računalnik. Namestitvene datoteke dobimo na naslovu:

Download SharePoint Online Management Shell from Official Microsoft Download Center
https://www.microsoft.com/en-us/download/details.aspx?id=35588

Po namestitvi je v PowerShellu na voljo nov modul. Če izvedemo ukaz:

Get-Module

Dobimo naslednji izpis, kjer je “Microsoft.Online.SharePoint.PowerShell” ime modula z ukazi za SPO.

Uradni PowerShell modul nam v zadnji verziji ponudi 144 ukazov, kar za tako kompleksen produkt, kot je SPO niti ni veliko.

Povezava na SPO

Po uspešni namestitvi komponent se moramo seveda tudi povezati na naše okolje SPO. Za povezovanje z oblačnimi storitvami moramo odpreti PowerShell in zagnati naslednji ukaz:

Connect-SPOService -Url https://[ime tenanta]-admin.sharepoint.com

Da bi preverili, če smo se uspešno povezali na tenant, lahko izvedemo ukaz:

Get-SPOSite

Ta nam nato izpiše vse zbirke mest.

PnP SharePoint Online Management Shell

Kot že omenjeno, je skupnost na področju SharePointa zares močna in povezana. Zaradi tega tudi zelo uspešno vpliva na razvoj SharePoint in SharePoint Online. Tako je nastal tudi modul, ki je uradno podprt s strani Microsofta in sicer je to SharePointPnPPowerShell modul.

Namestitev

Da bi si PnP PowerShell namestili, je potrebno imeti odprto PowerShell okno z admin privilegiji in nato pognati ukaz:

Install-Module SharePointPnPPowerShellOnline

Kot zanimivost naj povem, da imate tudi PnP modula za SharePoint 2013 in SharePoint 2016 On-Premises.

Po končani namestitvi, lahko poženete ukaz:

(Get-Command -Module SharePointPnPPowerShellOnline).count

Izpisalo se bo število 348, kar pomeni, da je ukazov v tem modulu, skoraj 3x več kot v uradnem Microsoftovem.

Povezovanje

Za povezovanje na SPO z modulom PnP moramo pognati ukaz:

Connect-PnPOnline -Url https://[tenant].sharepoint.com/sites/robi/ -UseWebLogin

Kot posebnost pri tem ukazu naj poudarim samo parameter »UseWebLogin«, ki podpira tudi avtentikacijo z MFA.

Uporaba PnP skripte za migracijo vsebin

Uporaba PnP modula za SharePoint je res enostavna. Tudi če migriramo npr. vaše skupne mape v SPO, vam lahko pride prav PnP PowerShell, kjer lahko datoteke na zelo lahek način naložite v dokumentno knjižnico.

Ko se uspešno povežemo na strani z zgornjim ukazom, lahko nato poženemo ukaz:

Get-PnPList

Ta nam izpiše vse sezname, ki jih imamo na tej strani. Iz izpisa lahko nato izberemo želeni seznam, kamor bi radi naložili datoteke in si seznam shranimo v spremenljivko:

$docLib=Get-PnPList -Identity "Shared documents"

Za naslednji korak moramo imeti pripravljene še datoteke, ki bi jih radi naložili v izbrano knjižnico. V mojem primeru imam na mestu c:\temp nekaj datotek, ki bi jih rad prenesel.

V spremenljivko, lahko z naslednjim ukazom shranimo vse datoteke na tej poti:

$items=Get-ChildItem -Path "C:\temp\" |?{$_.extension -ne ".ps1"}

Nato moramo samo še napisati zanko, ki bo vse dokumente v tej spremenljivki naložila v oblak. Za migracijo dokumentov bomo uporabili ukaz Add-PnPFile, ki zahteva samo 2 parametra:

  1. Pot do datoteke, ki bi jo radi prenesli.
  2. Dokumentna knjižnica, kjer bomo shranili datoteke.

Ukaz je naslednji:

foreach($item in $items){
    Add-PnPFile -Path $item.fullname -Folder $docLib.RootFolder.Name
}

V tem članku smo videli kako zelo pomembna je skupnost pri razvoju SPO in kaj vse se da narediti s pomočjo PnP skript na zelo lahek način.

V naslednjem članku si bomo pogledali še, kako lahko varno shranimo gesla za skripte, ki se izvajajo po urniku.

Robi Vončina

Avtor: Robi Vončina

Office Servers and Services MVP, MCT

Dodaj odgovor

Vaš e-naslov ne bo objavljen. * označuje zahtevana polja