In diesem Blogartikel möchten wir Ihnen einmal den ersten Einstieg im Umgang mit der SharePoint Online Management Shell zeigen.

Die PowerShell war und ist immer schon ein ständiger Begleiter im SharePoint Umfeld. Gerade auf SharePoint on-Prem, also den Server-Produkten, wurden hiermit von uns viele Skripte zur Automatisierung diverser Anforderungen umgesetzt. Aber auch für SharePoint Online ist diese unverzichtbar.

Damit auch Sie zukünftig einige Anforderungen direkt über die PowerShell lösen können, stellen wir diese hier nun vor.

SharePoint Management Shell herunterladen & installieren

Zunächst muss die Management Shell heruntergeladen und installiert werden. Die Shell kann auf jedem Client installiert und von dort aus bedient werden.

Der offizielle Download von Microsoft:

https://www.microsoft.com/de-de/download/details.aspx?id=35588

Abbildung 1 – Installation Management Shell

.

Erster Start der Management Shell

Nach erfolgreicher Installation sollte die Management Shell im Startmenü zu finden und vor dort ausführbar sein.

Abbildung 2 – Shell Startmenü

Im nächsten Schritt starten wir diese und verbinden uns mit einem einfachen Befehl gegen unsere SharePoint Online Umgebung (Tenant). Hierbei auf den Zusatz „-admin“ in der URL achten, da wir uns gegen die administrative Schnittstelle verbinden.

Abbildung 3 – Connect SPO

Anschließend wird noch das Passwort des Benutzers, mit welchem wir uns authentifizieren wollen, abgefragt.

Abbildung 4 – Authentifizierung

Nun sollten wir erfolgreich am SharePoint Online authentifiziert sein und können im nächsten Schritt mit der ersten einfachen Abfrage beginnen.

Abfragen des verwendeten Speicherplatzes

Eine klassische Abfrage, die wir auch on-Premise immer mal wieder durchgeführt haben, ist die Abfrage des verwendeten Speicherplatzes einer Websitesammlung. Diese Abfrage werden wir nun einmal beispielhaft durchgehen.

Zunächst einmal werden wir uns hierfür einige Variablen festlegen, welche uns im weiteren Verlauf die Arbeit erleichtern:

Abbildung 5 – Festlegen von Variablen

Hier legen wir mit $SPOUrl zunächst einmal unsere SharePoint Online Website fest, auf der sich die abzufragende Liste befindet. $Benutzer sowie $PW werden genutzt, um einen gültigen $Credentials String zu erstellen, der uns bei der weiteren Authentifizierung hilft.

Damit wir auch die richtige Websitesammlung abfragen, legen wir diesen hierzu noch kurz mit $SPOSite fest. Anschließend lassen wir uns den verwendeten Speicherplatz für die zuvor festgelegte Websitesammlung ausgeben:

Abbildung 6 – Ausgabe verwendeter Speicherplatz

Erweiterung des Skripts

Jetzt wäre es natürlich schön, nicht nur von einer Websitesammlung den verwendeten Speicher anzuzeigen, sondern gleich von allen.

Also ist unser nächstes Ziel, unser Skript entsprechend anzupassen und zu erweitern, damit es unsere Anforderung erfüllt.

Dazu werden wir jetzt erst einmal die PowerShell ISE, eine Entwicklungsumgebung starten:

Abbildung 7 – Start PowerShell ISE

Zunächst fügen wir hier einmal unser Skript zusammen und speichern die Datei an einem beliebigen Speicherort als z.B. „SPO-Speicherplatzabfrage.ps1“ ab:

Abbildung 8 – Skript in ISE

Nun bauen wir um unsere eben erstellte Abfrage einfach eine „foreach“-Schleife, welche alle Websitesammlungen durchläuft und uns diese anschließend auflistet. Dazu laden wir uns zunächst erst einmal alle Websitesammlungen in eine Variable ($SPOSites):

Abbildung 9 – Festlegen einer weiteren Variable

Anschließend bauen wir uns die zuvor erwähnte „foreach“-Schleife um unsere alte Abfrage:

Abbildung 10 – Erstellen einer foreach-Schleife

Hiermit hätten wir nun alle wichtigen Informationen abgefragt. Doch uns fehlt ein entscheidender Teil: Eine Ausgabe! Um diese jetzt noch sichtbar anzuzeigen, geben wir uns diese mit einem einfachen „write-host“ aus:

Abbildung 11 – Websitesammlungsgröße ausgeben

Nun Speichern wir das Skript einmal ab und führen es entweder direkt in der PowerShell ISE (grünes „play“-Symbol) oder über die normale PowerShell aus. Letzteres hier nun einmal beispielhaft:

Abbildung 12 – Beispielausgabe

Dem einen oder anderen, der auch zuvor schon einmal mit der SharePoint Shell, gerade on-Premise, gearbeitet hat, wird festgestellt haben das sich hier doch schon einige Änderungen in den Abfragen ergeben. Man könnte sagen, es ist ein wenig „aufwendiger“ geworden, generelle Abfragen gegen SharePoint Online zu erstellen.

Das gesamte Beispielskript hier nochmal angezeigt (grün gefärbt = eigene Angaben):

Connect-SPOService -Url https://tenantname -admin.sharepoint.com -Credential benutzer@tenantname.onmicrosoft.com

.

$SPOUrl = “https://tenantname.sharepoint.com”

$Benutzer = benutzer@tenantname.onmicrosoft.com”

$PW = Passwort

$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Benutzer,(ConvertTo-SecureString $PW -AsPlainText -Force))

.

$mbsize=$SPOSite.StorageUsageCurrent

write-host foregroundcolor yellow $sposite.title,“=”,$mbsize.tostring(‘N0’),“MB”

.

$SPOSites = get-SPOSite -IncludePersonalSite $false -limit all | Sort-Object StorageUsageCurrent -Descending

.

foreach ($SPOSite in $SPOSites) {

    $mbsize=$SPOSite.StorageUsageCurrent

    write-host -foregroundcolor yellow $sposite.title,“=”,$mbsize.tostring(‘N0’),“MB”

    write-host -foregroundcolor green $sposite.url

    write-host

}

Auf den Geschmack gekommen?

Natürlich ist die eben durchgeführte Abfrage nur die Spitze des Eisbergs und die Anforderungen sind von Fall zu Fall natürlich immer anders. Das zuvor erstellte Skript könnte ein erster Einstieg ins Monitoring sein, um bspw. den verfügbaren Speicherplatz oder sogar Trends zu ermitteln. Dies könnte dann in Monitoringlösungen wie unserer MoSo (MonitoringSolution) eingebunden werden. Auch tiefergehende Abfragen sind möglich und können mit der SharePoint Management Shell umgesetzt werden.

SUPPORT
X
X