Besprechungen im Teams Client mit Räumen buchen

Teams Besprechungen erfreuen sich aus gutem Grund großer Beliebtheit. Eine solche aufzusetzen ist im Outlook Desktop Client kein Problem. Das geht auch wunderbar im Teams Client und im Outlook im Web. Möchte man allerdings einer Besprechung Räume hinzufügen, funktioniert dies nur im Outlook Desktop Client. Der Screenshots unten zeigt den erfolglosen Versuch im Team Client einer Besprechung einen Raum hinzuzufügen. Dabei existiert mindestens ein Raum.

Um Räume im Teams Client und Outlook im Web verfügbar zu machen, müssen Sie eine Raumliste erstellen, was nur eine spezielle Verteilergruppe ist. Leider gibt es dafür keine Möglichkeit in der Oberfläche, dies geht nur mit Power Shell. Kopieren Sie das unten stehende Script und passen Sie es entsprechend an. Ausgeführt werden sollte es vom Exchange online oder auch dem globalen Administrator.

Ich habe das Script bewusst einfach gehalten, in einer produktiven Umgebung würde ich zum Beispiel noch eine Abfrage einfügen ob eine Gruppe mit dem gewählten Name schon existiert. Möchten Sie der Raumliste mehrere Räume hinzufügen, könnte man zum Beispiel eine CSV Datei importieren und über eine Schleife die entsprechenden Räume hinzufügen.
Die Abbildung unten zeigt das Erstellen einer Besprechung im Teams Client dem erfolgreich Räume hinzugefügt wurden. Wenn die Räume nicht sofort erscheinen, den Teams Client einmal komplett neu starten.

Set-ExecutionPolicy RemoteSigned

# Verbindung zu Exchange online aufbauen
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking

# Name der Raumliste und Gruppe erzeugen
$Groupname ="Conference Rooms"
New-DistributionGroup -Name $Groupname -RoomList

# Raum hinzufügen, <Room E-Mail> entsprechend ersetzen
Add-DistributionGroupMember -Identity $Groupname -Member <Room E-Mail>

# Session entfernen
Remove-PSSession $Session

Noch Fragen zu Microsoft Teams? Dann schreiben Sie einen Kommentar!

Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular oder schreiben Sie einen Kommentar.

Sie wollen mehr über meine Leistungen erfahren? Dann klicken Sie hier.

Arbeiten mit Vorlagen in Microsoft Teams

In der aktuellen Corona Situation ist für viele Firmen Home Office und damit Microsoft Teams das Mittel der Wahl. Dementsprechend gibt es viele KollegInnen, welche entsprechende Anleitungen schreiben wie man Teams am besten einführt, wie man es anpasst und die Nutzer animiert es optimal zu nutzen. Dies ist nicht der nächste Artikel unter vielen zu dem Thema, denn dieser Artikel beschäftigt sich mit dem Thema Vorlagen in Microsoft Teams. Er erläutert, wie Sie einfach ein neues Team aus einem schon bestehenden erzeugen können und wo die Grenzen dessen liegen.
Microsoft Teams wird in vielen Geschäftsprozessen innerhalb einer Organisation eingesetzt. Oft sind dies Projekte und gerade dort kann man gut mit einer generischen Vorlage arbeiten. Eine Vorlage mit allen Kanälen und Tabs wird einmal erstellt und dann bei jedem neuem Projekt wieder verwendet. Dabei ist zu beachten, dass die neuen Teams natürlich eine Kopie sind und Änderungen am Template nicht auf die schon damit erstellten Teams weitergereicht werden. Änderungen an der Vorlage sind immer erst an danach erstellten Teams sichtbar. Die folgenden Ausführungen gelten für alle Teams, welche KEINE privaten Kanäle enthalten. Wie Sie mit privaten Kanälen umgehen, lesen Sie weiter unten.
Wenn Sie ein neues Team aus einem schon vorhandenen Team erstellen möchten, so erstellen Sie ggf. die Vorlage und gehen dann auf Team beitreten oder erstellen.  Dort wählen Sie dann Team erstellen und Erstellen aus… Im nächsten Dialog klicken Sie auf Team. Sie sehen alle Teams, in welchen Sie Mitglied sind. Wählen Sie das entsprechende Team und klicken Sie auf dieses. Im folgenden Fenster geben Sie dem neuen Team ein Name, wählen den Datenschutz und scrollen in dem Fenster ganz nach unten. Erst dann können Sie alle Einstellungen sehen, was Sie übernehmen wollen.
2020-03-29_13h37_16
Das neue Team wird sofort erstellt und steht den Mitgliedern zur Verfügung. Die folgende Abbildung zeigt zum einen die Vorlage und zum anderen das daraus neu erstellte Team.
2020-03-29_13h39_251

Vorlagen und private Kanäle

Wenn man die Vorlage und das neue Team vergleicht, fällt auf, dass der private Kanal Finanzen fehlt. Dies ist keine Einstellung in einer Konfiguration, sondern private Kanäle können in Vorlagen auf diesem Weg nicht verwendet werden. Es gibt allerdings andere Möglichkeiten private Kanäle in einer Vorlage zu verwenden. Bevor wir aber dazu kommen, noch ein paar Worte zu privaten Kanälen.
Auf private Kanäle darf nur ein bestimmter Personenkreis zugreifen, welcher sich zudem im Team bzw. der Office 365 Gruppe, die dem Team zugeordnet ist, befinden muss. Es ist nicht möglich, auf einen privaten Kanal eine bestehende Office 365 Gruppe direkt zu berechtigen. Muss man mit Code Teams Vorlagen erstellen, so muss man die einzelnen Benutzer aus der Office 365 Gruppe holen (aufzählen) und jeden Benutzer einzeln zuordnen. Das ist nicht weiter kompliziert, denn Microsoft Office Graph bietet dafür Methoden. Komplexer wird es, wenn nach dem Erstellen des Teams neue Benutzer hinzugefügt oder entfernt werden. Dazu könnte man an die Gruppe einen Power Automate Workflow hängen, der auf Änderung der Gruppenmitgliedschaft reagiert. Dieser Workflow entfernt oder fügt Mitglieder in die entsprechenden privaten Kanäle hinzu.
Um eine Teamvorlage zu erstellen, welche auch private Kanäle unterstützt, bieten sich verschiedene Wege an. Das eine wäre PowerShell. Man könnte die gesamte Vorlage per PowerShell coden und dieses PowerShell z.B. in Azure Automation oder Azure Function  ablegen. Über eine SharePoint Liste würden die Metadaten des neuen Teams erfasst. Das Speichern des Listeneintrages triggert dann das PowerShell. Eine Übersicht über alle Kommandos PowerShell für Teams finden Sie hier. Beachten Sie bei dieser Technik die Frage der Authentifizierung und des Kontext.
Intern machen die Kommandos der PowerShell Gebrauch von Microsoft Office Graph. Darüber können Sie nicht nur Teams verwalten, sondern so ziemlich alles machen was in Office 365 geht. Mit dem Microsoft Office Graph können Sie auch direkt arbeiten, Sie brauchen dafür kein PowerShell.
Microsoft stellt auch eigene Vorlagen für Teams zur Verfügung, welche Teams für verschiedene Branchen abbilden. Diese Vorlagen nutzen ebenfalls direkt Microsoft Office Graph. Eine Dokumentation dazu gibt hier. Die Definition eines Teams erfolgt in JSON. Eine Anleitung, wie solch eine Vorlage erstellt und ausgeführt wird, finden Sie hier. Natürlich wäre es auch möglich, wie in dem Beispiel oben, zu einem schon bestehenden Team weitere private Kanäle hinzuzufügen. Das ist das schöne an Microsoft Office Graph, er ist einfach und gleichzeitig extrem flexibel.
Das Erstellen einer Vorlage kann allerdings für jemand ohne einen Entwicklerhintergrund schwierig werden. Es ist aber nicht unmöglich, zumal man die Vorlage direkt im Browser auch testen kann. Aber vielleicht ist da der Dienstleister oder das Tool eines Drittanbieters die bessere Wahl…

Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular oder schreiben Sie einen Kommentar.

Sie wollen mehr über meine Leistungen erfahren? Dann klicken Sie hier.

Performance Analyse SharePoint – So geht es

In Projekten stehe ich oft vor der Herausforderung die Performance einer vermeintlichen oder tatsächlich langsamen SharePoint Installation zu messen. Am besten geht dies, indem ich eine Anzahl ausgewählter Performancecounter gleichzeitig überwache. Nun sind dies eine ganze Menge und jedes Mal diese zu konfigurieren recht aufwendig. Dieser Blogartikel zeigt, wie sich diese Arbeit erleichtern lässt.

Vorbemerkung

Der Gedanke ist, ein PowerShell Script zu erstellen, welches die Counter aus eine Textdatei liest und in eine Datei schreibt, welche ich wieder in den Performancemonitor einlesen kann. Dort kann ich mir dann alle Werte anzeigen lassen oder nur einige davon. Das Script läuft dann so lange, bis ich es eben abbreche. Folgende Voraussetzungen, damit alles funktioniert, müssen unbedingt vorhanden sein:

  • Das Script muss von einem Konto gestartet werden, welches das Recht zum Ausführen von Scripten hat, in den Ordner schreiben und alle Performancecounter lesen darf. Typischerweise ist dies ein administratives Konto.
  • Diese Anleitung wird nur mit einem englischen SharePoint auf einem englischen Windowsserver funktionieren. Bei anderen Sprachen müssen die Performancecounter entsprechend übersetzt werden.
  • Es sollte die aktuellste PowerShell Version installiert sein.
  • Das Script sollte nicht in der Root ausgeführt werden, sondern in einem extra Ordner.
  • Das Script muss für jedem SharePoint Server auf dem jeweiligen Server ausgeführt werden.

Daten erfassen

Erstellen Sie zuerst eine Textdatei, in welcher Sie die folgenden Counter kopieren. Jeder Counter stellt dabei eine Zeile dar. Der Namen meiner Datei ist counter.txt

.NET CLR Memory(*)% Time in GC
ASP.NETApplication Restarts
ASP.NETRequest Execution Time
ASP.NETRequests Rejected
ASP.NETRequests Queued
ASP.NETWorker Process Restarts
ASP.NETRequest Wait Time
ASP.NET Applications(*)Requests/Sec
LogicalDisk(*)% Idle Time
MemoryAvailable MBytes
Memory% Committed Bytes In Use
MemoryPage Faults/sec
MemoryPages Input/sec
MemoryPage Reads/sec
MemoryPages/sec
MemoryPool Nonpaged Bytes
Network Interface(*)Bytes Total/sec
Network Interface(*)Packets/sec
Paging File(*)% Usage
PhysicalDisk(*)Current Disk Queue Length
PhysicalDisk(*)% Disk Time
PhysicalDisk(*)Disk Transfers/sec
PhysicalDisk(*)Avg. Disk sec/Transfer
Process(*)% Processor Time
Process(*)Page Faults/sec
Process(*)Page File Bytes Peak
Process(*)Page File Bytes
Process(*)Private Bytes
Process(*)Virtual Bytes Peak
Process(*)Virtual Bytes
Process(*)Working Set Peak
Process(*)Working Set
Processor(*)% Processor Time
Processor(*)Interrupts/sec
RedirectorServer Sessions Hung
ServerWork Item Shortages
SystemContext Switches/sec
SystemProcessor Queue Length
Web Service(*)Bytes Received/sec
Web Service(*)Bytes Sent/sec
Web Service(*)Total Connection Attempts (all instances)
Web Service(*)Current Connections
Web Service(*)Get Requests/sec
SharePoint Foundation(*)Active Threads
SharePoint Foundation(*)Sql Query Executing  time
SharePoint Foundation(*)Executing Sql Queries
SharePoint Foundation(*)Responded Page Requests Rate
SharePoint Foundation(*)Executing Time/Page Request
SharePoint Foundation(*)Current Page Requests
SharePoint Foundation(*)Reject Page Requests Rate
SharePoint Foundation(*)Incoming Page Requests Rate

Erstellen Sie danach eine PowerShell Datei, welche den folgenden Code enthält. Die Counter werden aller fünf Sekunden erfasst. Bei weniger oder mehr passen Sie -sampleinterval 5 an. Die Datei, in welcher die Counter gespeichert werden heißt counter.bin.

get-counter -counter (get-content counter.txt) -MaxSamples 100 -sampleinterval 5 | export-counter counter.bin

Starten Sie das Script aus einer PowerShell Umgehung und lassen Sie es laufen solange Sie die Daten erfassen möchten.

Daten auswerten

Starten Sie den Performancemonitor perfmon.msc und klicken Sie auf Performance -> Monitoring Tools – Performance Monitor. Ziehen Sie die Datei counter.bin per D&D ins Fenster. Damit Sie die erfassten Werte sehen können, müssen Sie diese noch hinzufügen. Denn jetzt sollten eigentlich überhaupt keine Werte mehr gemessen werden. Klicken Sie auf + und fügen Sie die gewünschten Werte hinzu. Sie können in der Liste auch alle Werte markieren und mit einmal hinzufügen. Das war es dann auch schon. Inspiriert zu dem Artikel wurde ich von https://gallery.technet.microsoft.com/office/PowerShell-script-for-59cf3f70

Haben Sie diese Anforderung schon einmal gehabt? Oder eine andere Frage? Dann schreiben Sie einen Kommentar!

Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular oder schreiben Sie einen Kommentar.

Sie wollen mehr über meine Leistungen erfahren? Dann klicken Sie hier.