Update der Teams PowerShell

Als ich jetzt die Teams PowerShell aktualisieren wollte, bin ich auf gar seltsames gestoßen. Es mag Unachtsamkeit von mir gewesen. Vielleicht aber auch anderes. Wie ihr ja vielleicht wisst, wenn ihr hier lest, halte ich Microsoft Teams für eine ziemlich gute Angelegenheit. Und deshalb ist es auch wichtig, dass die Verwaltungsmittel dafür vollständig funktionieren. Neben dem Teams Admin Center ist freilich die Teams PowerShell ein bewährtes Mittel, um Teams zu administrieren. Und dafür gab es nun wiederholt Neuerungen.

Brauche ich die Teams PowerShell?

Das Ganze hier dreht sich nicht um den Privathaushalt, bei dem ich natürlich auch Teams einsetzen kann. Hier geht es um den Teams-Administrator. Und der sollte sich natürlich halbwegs mit der Teams PowerShell auskennen. Auch wenn ich in meiner Funktion als Support-Mitarbeiter auch Menschen erlebt habe, die einen großen Bogen um die PowerShell an sich machen und demnach auch mit den Modulen für Teams nicht viel anfangen können.

Eigentlich kommt man nicht um die PowerShell herum, wenn man Microsoft-Lösungen administrieren will. Hier ist Microsoft vor Jahren mal dazu übergegangen, nicht mehr für jeden Handgriff irgendeine Klick-Lösung zu basteln. So ist es beim Exchange Server eben unerlässlich, ein Security Update über die CMD zu installieren. Auch die PowerShell geht. Einfach Weiter -> Weiter -> Fertigstellen ist nicht mehr. Und deshalb ist es auch sinnvoll, sich mit der Teams PowerShell auseinander zu setzen.

Welche PowerShell-Version habe ich denn?

PS C:\WINDOWS\system32> Get-Host | Select-Object Version

Version       
-------       
5.1.19041.1320

Mit „Get-Host“ erfahre ich, welche Version der PowerShell installiert ist. Im Beispiel ist die Windows PowerShell (5.x) in einer ziemlich aktuellen Version installiert. Müsst ihr unbedingt auf die PowerShell 7.x zurückgreifen, seid ihr auf die PowerShell an sich angewiesen. Die aktuellste Version solltet ihr hier von der Seite bekommen. Die läuft dann parallel zur Windows PowerShell:

PowerShell 7
PowerShell 7

Die ist dann auch nicht mehr blau, sondern schwarz. Aber das ist nur Kosmetik. Ganz oben grinst euch ein „PowerShell 7.x.x“ (X deshalb, weil es sich ja ändern kann) an. Und da müsst ihr dann mit „Import-Module“ eure Module hinein ziehen. Aber grundsätzlich reicht auch die Windows PowerShell aus.

Wie aktualisiere ich nun die Teams PowerShell?

Also: Ich mache einen kleinen Umweg. Denn wir wollen ja sicherstellen, dass die PowerShell an sich aktuell ist. Wir starten die PowerShell unbedingt als Administrator. Nachdem wir oben geprüft haben, was installiert ist, lassen wir einfach mal die aktuelle Version drauf flattern. Das geht mit diesem Befehl ganz automatisch, und dann habt ihr die PowerShell 7 drauf:

iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"
Die PowerShell aktualisieren
Die PowerShell aktualisieren

Ist das durch, können wir uns an das Update der Teams PowerShell machen. Das geht eigentlich ganz simpel. Allerdings solltet ihr mit eurem Tenant verbunden sein. Also beginnt das Ganze mit:

Connect-MicrosoftTeams -LogFilePath "C:\temp\teamslog" -AccountId "Euer Admin-Account"

Den Schalter „LogFilePath“ braucht ihr nur, falls ihr mitschreiben wollt, was beim Anmelden passiert. Wenn ihr keinerlei Probleme habt, könnt ihr ihn auch getrost weglassen. Als nächstes überprüft ihr, welche Version der Binaries ihr im Einsatz habt und jagt das Update in die Runde:

Get-Module MicrosoftTeams
Update-Module MicrosoftTeams

Allerdings scheint ein Unterschied darin zu bestehen, ob ich „MicrosoftTeams“ als Modul oder nur „*teams*“ verwende, denn nach dem vermeintlichen Update der Teams PowerShell habe ich mit „Find“ überprüft, welche Version verfügbar ist, und das hatte sich dann schon unterschieden:

Zwischen verfügbarem (Find-Module) und installiertem Modul (Get-Module) der Teams PowerShell besteht ein Unterschied
Zwischen verfügbarem (Find-Module) und installiertem Modul (Get-Module) der Teams PowerShell besteht ein Unterschied

Bewährt hatte sich am Ende der folgende Befehl. Ich habe den mit „-Force“ zum Durchlauf ohne Rückfrage und mit „-AllowClobber“ zum möglichen Überschreiben des bestehenden Moduls der Teams PowerShell angereichert. Das heißt dann also:

Install-Module -Name MicrosoftTeams -Force -AllowClobber

Nachlesen, wie das funktioniert, könnt ihr hier. Das Ergebnis ist dann, nachdem ihr euch neu mit eurem Tenant wie oben verbunden habt, so ungefähr aus:

Update der Teams PowerShell-Module abgeschlossen
Update der Teams PowerShell-Module abgeschlossen

Da man das im Bild schlecht erkennen kann, habe ich euch das mal rauskopiert:

PS C:\WINDOWS\system32> Get-Module -Name MicrosoftTeams

ModuleType Version    Name                                ExportedCommands                                                                                           
---------- -------    ----                                ----------------                                                                                           
Script     4.2.0      MicrosoftTeams                      {Add-TeamChannelUser, Add-TeamUser, Connect-MicrosoftTeams, Disconnect-MicrosoftTeams...} 

Fazit

Alles steht und fällt eigentlich mit zwei Dingen, wenn ihr die Teams-PowerShell-Module aktualisieren wollt. Einerseits ist es zwingend erforderlich, die PowerShell oder PowerShell ISE als Administrator auszuführen. Und dann hilft euch „Update-Module“ nicht unbedingt weiter. Besser funktioniert es mit „Install-Module -Force -AllowClobber“. Ich bin übrigens über den Andres Bohren auf dieses Update gestoßen.

Einen umfangreichen Überblick – wenn man sich so die ganzen Verlinkungen mit anschaut – über die Teams PowerShell erhaltet ihr bei Interesse hier. Und was ihr alles mit der Teams PowerShell machen könnt, könnt ihr euch anschauen, wenn ihr euch alle Befehle des Moduls auflistet und dann ggf. nach jedem einzelnen schaut:

Get-Command -Module MicrosoftTeams

Das Modul könnt ihr euch auch herunterladen. Es kann ja sein, dass der eine oder andere im Befehlssatz recherchieren möchte. Die Prozedur zum Update der Teams PowerShell jedenfalls ist ungefähr so, wie ich es euch gezeigt habe.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert