Skype for Business Policies im Griff haben-Teil 3

Nachdem ich in Teil 1 gezeigt habe, wie man Skype for Business Online PowerShells aufruft und in Teil 2 ein Script zur Verfügung gestellt habe, mit dem alle Skype for Business Online policies abgerufen werden können werden wir im letzten Schritt noch die gewünschten Skype for Business Online Policies für die betreffenden Benutzer setzen. Zunächst sehen wir uns die Cmdlets zum Auslesen und Setzen einer Policy für einen bestimmten User an, bevor wir die User durchlaufen.

Auslesen einer gesetzten Policy

Um Nachzusehen, welche SFB Policy bei einem bestimmten User gesetzt ist, wird das folgende Cmdlet verwendet:

Get-CsOnlineUser -Identity john.doe@contoso.com

Hier werden dann alle SFB-Eigenschaften für den Benutzer aufgelistet, wie etwa hier (die Liste im Screenshot ist stark gekürzt und zeigt zur besseren Übersicht nur einige Policies)…

image_thumb[11]_thumb

Setzen einer Policy

Das Setzen erfolgt per Grant-Cs*Policy-Cmdlet mit dem Policy-Attribut und dem Policy-Namen wie hier etwa mit BposSAllModalityNoFT:

Get-CsOnlineUser -Identity john.doe@contoso.com | Grant-CsConferencingPolicy -PolicyName BposSAllModalityNoFT

Das Policy-Attribut wird an Grant-Cs angehängt, wie etwa Grant-CsVoicePolicy, Grant-CsCallerIdPolicy usw.

Löschen einer Policy

Um eine gesetzte Policy zu entfernen, wird der $Null Wert als PolicyName gesetzt:

Get-CsOnlineUser -Identity john.doe@contoso.com | Grant-CsConferencingPolicy -PolicyName $Null

Automatisieren

Das fertige Script zum Durchlaufen benötigt eine vordefinierte Liste an Usern (mit dem Spaltentitel UserPrincipalName) aus einem CSV File und der zu setzenden Policy (hier: BposSAllModalityNoFT). Alternativ können die User natürlich auch direkt ermittelt und durchlaufen werden, je nach Szenario. Das ganze Beispielscript sieht dann sinngemäß wie folgt aus:

$importfile = ".\users.csv"Import-Csv -Path $importfile | ForEach-Object {$user = Get-CsOnlineUser -Identity $_.UserPrincipalnameif ($user.ConferencingPolicy -ne "BposSAllModalityNoFT") {Get-CsOnlineUser -Identity $_.UserPrincipalname | Grant-CsConferencingPolicy -PolicyName BposSAllModalityNoFT}}

Wenn der User die Policy noch nicht zugewiesen hat (daher der –notequal Operator) , erhält er diese Policy gesetzt. Pro User kann nur eine policy gesetzt werden. War also eventuell eine andere Policy eingesetzt, wird diese nun überschrieben.

Fazit

Wie in Teil 1 und Teil 2 beschrieben, helfen PowerShell und die Skype for Business Online Windows PowerShell Module dabei, die aktuellen Policies auszulesen, aufzubereiten und einzusetzen. Ich hoffe, diese kleine Artikelserie hilft IT-Admins bei der Verwaltung ihrer Skype For Business Online Benutzer!