Blog

Technische Informationen rund um das Thema Modernes Arbeiten

Windows Virtual Desktop ist weltweit verfügbar

Am 30. September 2019 war es endlich soweit: Windows Virtual Desktop ist weltweit verfügbar. 

Dabei handelt es sich um ein virtualisiertes Windows mit Office, das über Azure bereitgestellt wird. Lizensiert wird der Virtual Desktop über Microsoft 365. Folgende Suiten beinhalten Windows 10 multi-session, Windows 10 oder Windows 7:

  • Microsoft 365 F1, E3, E5, A3, A5, Business
  • Windows 10 Enterprise E3, E5
  • Windows 10 Education A3, A5
  • Windows 10 VDA per user

Interessant auch die im Blogeintrag angedeutete Roadmap:

We also worked closely with our partner ecosystem to help our customers extend Windows Virtual Desktop and get the most out of existing virtualization investments.

  • Starting today, Citrix can extend Windows Virtual Desktop worldwide, including support for Windows 10 multi-session, Windows 7 with free Extended Security Updates for up to three years, and support for Windows Server 2008 R2 with free Extended Security Updates on Azure.
  • Later this year, VMware Horizon Cloud on Microsoft Azure will extend Windows Virtual Desktop and its benefits, such as Windows 10 Enterprise multi-session and support for Windows 7 with free Extended Security Updates for up to three years. Preview will be available by the end of the calendar year.
  • We also engaged with hardware partners, system integrators (SI), who provide turnkey desktop-as-a-service (DaaS) offerings, and value-added solution providers, who add capabilities such as printing, application layering, assessment, and monitoring on Azure Marketplace. Learn more about Windows Virtual Desktop partners on the documentation page.

General availability of Windows Virtual Desktop is just the beginning. We’ll continue to rapidly innovate and invest in desktop and app virtualization. We look forward to sharing more with you in the coming months. In the meantime, learn more on our product page and get started with Windows Virtual Desktop today.

Weiterführende Links: 

Screen sharing in Teams/Skype for Business interop

Eine neue Ankündigung in der Office 365 Roadmap: Microsoft wird “Screen sharing in Teams/Skype for Business interop” in den nächsten Wochen bereitstellen.

We will be rolling out to GCC customers soon.
[…]
We’ll be rolling this out to customers in mid-August. The rollout will be complete by the end of August.

Dabei handelt es sich um eine Anpassung, welche das Zusammenspiel zwischen Microsoft Teams und Skype for Business erweitert. Sie bedeutet, dass reine Teams-Benutzer in der Lage sein werden, Ihren Desktop Benutzern von Skype for Business und externen Teilnehmern in Chats und Calls teilen zu können.

Enables a Teams user to share their screen in chat or VoIP call with a Skype for Business user

Links:

UWP: dynamische Grids mit c#

UWP: dynamische Grids – dieses Mal wieder eher ein sehr technisches Thema. Eigentlich wollte ich mal nur ganz kurz etwas ausprobieren. Doch dann fing die Suche an: wie erstellt man in einer Universal Windows Platform App eigentlich ein dynamisches Grid. 

Ziel war es, ein Formular mit folgendem Aussehen zu erhalten: 

Da ich das Formular aus einer Steuerdatei aufbauen wollte, waren die Parameter wie Textfeld-Inhalt, Inhalt von Frage 1 – 4 sowie der Yes/No-Buttons nicht von Anfang an definiert. Daher entschied ich mich, das Grid dynamisch mit C# aufzubauen.

Ich habe dazu viele Artikel gefunden. Letztendlich musste ich aber immer wieder feststellen, dass der letzte – wahrscheinlich entscheidende – Schritt fehlte. 

Hier meine Erkenntnisse:

Aufbau des Grids:

Grid gGrid = new Grid();
// Grid-Eigenschaften
gGrid.Width = 1000;
gGrid.Height = 700;

Anlage der Spalten:

ColumnDefinition spalte1 = new ColumnDefinition();
ColumnDefinition spalte2 = new ColumnDefinition();
ColumnDefinition spalte3 = new ColumnDefinition();

spalte1.Width = new GridLength(0, GridUnitType.Auto);
spalte2.Width = new GridLength(0, GridUnitType.Auto);
spalte3.Width = new GridLength(1, GridUnitType.Auto);

gGrid.ColumnDefinitions.Add(spalte1);
gGrid.ColumnDefinitions.Add(spalte2);
gGrid.ColumnDefinitions.Add(spalte3);

Aufbau der Zeilen

Nach der Definition der Zeilen habe ich mich an den Aufbau der Zeilen gemacht. Die Anzahl der Zeilen wurden durch die Steuerdatei festgelegt.

Wenn man nach UWP und dynamische Grid sucht, findet man wenig über die Anlage von Zeilen. Dies war meine Lösung für die Anlage von Zeilen (in dem Beispiel die Anlage von 2 Zeilen)

var tabellenZeile1 = new RowDefinition();
tabellenZeile1.Height = GridLength.Auto;
gGrid.RowDefinitions.Add(tabellenZeile1);

var tabellenZeile2 = new RowDefinition();
tabellenZeile2.Height = GridLength.Auto;
gGrid.RowDefinitions.Add(tabellenZeile2);

Füllen mit Inhalten

Nun ging es darum, die Zeilen mit Inhalt zu füllen. Meine Elemente (wie im Screenshot gezeigt) waren:
1. ein Textfeld
2. ein Radiobutton z. B. mit “Yes”
3. ein Radiobutton z, B, mit “No”

Das Textfeld (qKatalog ist eine Liste, die den Inhalt der eingelesenen Rohdaten enthält): 

Tb_Answer1.Text = qKatalog[iPos].answer1;
Tb_Answer1.Width = 774;
Tb_Answer1.HorizontalAlignment = HorizontalAlignment.Left;
Tb_Answer1.Margin = new Thickness(10);

Radiobuttons

Danach werden die beiden Radio-Buttons erzeugt und einer Gruppe zugeordnet:

RadioButton RB_Y1 = new RadioButton();
RadioButton RB_N1 = new RadioButton();

RB_Y1.Content = qKatalog[iPos].lText1;
RB_Y1.GroupName = "YN1";
RB_Y1.HorizontalAlignment = HorizontalAlignment.Left;

RB_N1.Content = qKatalog[iPos].lText1;
RB_N1.GroupName = "YN1";
RB_N1.HorizontalAlignment = HorizontalAlignment.Left;

Anordnen im Grid

Nun kommt ein wichtiger Schritt, der in vielen Beschreibungen gefehlt hatte: 

gGrid.Children.Add(Tb_Answer1);
gGrid.Children.Add(RB_Y1);
gGrid.Children.Add(RB_N1);

Damit sind die Elemente dem Grid zugeordnet. 

Anschließend müssen die Inhalte “nur” noch den entsprechenden Zeilen und Spalten zugeordnet werden:

Grid.SetRow(Tb_Answer1, 0);
Grid.SetRow(RB_Y1, 0);
Grid.SetRow(RB_N1, 0);

Grid.SetColumn(Tb_Answer1, 0);
Grid.SetColumn(RB_Y1, 1);
Grid.SetColumn(RB_N1, 2);

Das bedeutet, dass die Elemente der Zeile (SetRow) 0 zugeordnet wurden. Danach werden Tb_Answer1 in die Spalte 0, RB_Y1 in die Spalte 1 und RB_N1 in die Spalte 2 platziert.  

Danach müssen eigentlich nur noch die weiteren Zeilen mit Inhalt gefüllt werden.

 

Die genutzten Quellen: 

 

PowerApps

PowerApps ist eine Suite von Apps, Diensten, Connectors und einer Datenplattform für eine schnelle Entwicklungsumgebung für Anwendungen, mit der Sie benutzerdefinierte Apps entsprechend Ihren Geschäftsanforderungen erstellen können. Mit PowerApps können Sie schnell benutzerdefinierte Geschäfts-Apps erstellen, die Sie mit Ihren Geschäftsdaten verbinden können. Der Speicherort dieser Daten kann entweder die zugrunde liegende Datenplattform sein (Common Data Serviceoder verschiedene Online- oder lokale Datenquellen (SharePoint, Excel, Office 365, Dynamics 365, SQL Server usw.).

PowerApps hat sich inzwischen zu einem mächtigen Tool entwickelt,  und macht es leicht, Dinge in Office 365 zu automatisieren. In Verbindung mit weiteren Tools wie Flow und BI entstehen einfach zu erstellende (low Business Werkzeuge. 

Neu in der Familie (seit Juni 2019) nun auch das Thema AI Builder, mit dem nun auch AI in die Powerplattform Einzug gehalten hat.

Es ist inzwischen viel Material rund um PowerApps verfügbar – eine Auswahl (hauptsächlich Videos von unterschiedlichen Veranstaltungen) habe ich im Folgenden zusammengestellt.

Grundinformationen:

Für den Entwickler:

Microsoft PowerApps und Microsoft Flow

PowerApps und PowerBI

  •  

AI Builder

PowerApps Portal

PowerApps “in 10 Minutes”

Kaizala und Microsoft Teams

Bereits im April 2019 hatte Microsoft angekündigt, dass Kaizala und Microsoft Teams zusammenwachsen werden. Ende Juni nun wurden die Pläne detaillierter kommuniziert:

We will be adding Kaizala Pro capabilities to Teams over the next 12-18 months, ultimately replacing the Microsoft Kaizala service and making Microsoft Teams the primary client in Office 365 and Microsoft 365 for communication with both internal employees and people in your extended networks. 

Bereits heute taucht Kaizala in den Apps von Office 365 auf.

Der Link führt zum Konfigurationsportal von Kaizala.

Kaizala ist – wenn man es einfach beschreiben möchte – ein Instant Messenger (vergleichbar mit Whatsapp) mit erweiterten Features. 

Kaizala ist eine mobile Chat-basierte Kommunikation-Plattform, die Ihre Mitarbeiter der ersten Zeile mit der Information Worker am Arbeitsplatz modernen verbindet. Kaizala erleichtert es eine Verbindung herstellen und mit nicht nur Ihre Mitarbeiter dar, sondern auch mit Ihrer Mitglieder, Kunden und Verteiler zu koordinieren. Hiermit können Sie effizient verwalten der Arbeit oder Sammeln von Daten von Personen oder große Gruppen, selbst wenn sie nicht in Ihrer Organisation sind.

Spannend wird hier sicher, dass Kaizala auch eine Api bietet, die es Entwicklern ermöglicht, die Plattform zu erweitern. 

The first set of Kaizala Pro capabilities will be available in Teams by the end of calendar year 2019 and includes Kaizala Actions as built-in apps in Teams, such as checklist, training, and quiz.

Weiterführende Links:

Multi-Tenantzugriff in Microsoft Teams

Multi-Tenantzugriff in Microsoft Teams ist ein Thema, das mich immer häufiger beschäftigt hat. Zum einen hat man in Projekten mit Partnern immer wieder die Herausforderung, dass man dort eingeladen in ein Team eingeladen wird. Der Gastzugriff ist dann nicht immer die optimale Lösung. Ich habe für mich aber auch das Thema entdeckt, als es darum ging, einen Team-Bereich aktiv zu halten, der einem meiner Test-Tenants zugeordnet war. Hier war ich am Testen einer APP und bekam während der Fehlerbehebung immer wieder Nachrichten, die ich nicht aus den Augen verlieren wollte. 

Bei der Suche im Web bin ich auf unterschiedlichste Lösungen gestoßen. 

Der erste Ausgangspunkt war die Diskussion, dass dies ein unabdingbares Feature für Microsoft Teams ist. Er beinhaltet einen Link auf den Bereich “Uservoice” des Microsoft Teams-Team. Hier wurde am 03.07.2019 eine erste Lösung angekündigt: 

Daneben findet man Beiträge, die sich mit dem Guest Access beschäftigen. Umfänglich passiert das zum Beispiel in einem Blogeintrag von Dominik Kent

Immer wieder trifft man auf Franz als Lösung. Diese hat aber – da hier hauptsächlich über Web gearbeitet wird – auch die Einschränkungen des Webzugriffs. 

Mein Ausgangspunkt war die Lösung, die in diesem Artikel diskutiert wird. Hier geht es um 2 Dinge: 1. es wird ein weiterer (oder mehrere) lokale Benutzer auf dem Rechner angelegt und anschließend über “Als anderer Benutzer ausführen” der Starter für Teams ausgeführt. Der Artikel beschränkt sich mehr auf die “Step by step”-Anweisung. Die kann an dieser Stelle von Administratoren gut herangezogen werden. 

Sie besagt im Wesentlichen: lege ein neues Profil auf dem Rechner an (

Nachdem der Benutzer angelegt ist (es reicht einen “einfachen” Benutzer anzulegen), muss man sich am Gerät mit dem Benutzer einmalig anmelden. Im ersten Schritt installiert man Microsoft Teams unter diesem Benutzer. Danach startet man aus der Command-Shell den folgenden Befehl:

C:\Users\MSTeams\AppData\Local\Microsoft\Teams\Update.exe –processStart “Teams.exe”

Bitte “MSTeams” im angegeben Pfad durch den Profilenamen des Benutzers ersetzen. (z. B. C:\Users\MarkusWE\AppData\Local\Microsoft\Teams\Update.exe –processStart “Teams.exe”)

Anschließend wechselt man wieder den Benutzer und wechselt in sein eigenes Profil zurück. 

Hier wird es nun spannend. Anders als im Artikel dargestellt, konnte ich nicht sofort das zweite Profil nutzen – ich bekam regelmäßig Fehlermeldungen, dass der Zugriff auf das Default-Profil 

nicht möglich sei (Zugriff verweigert). Eine Kontrolle ergab, dass a) das Verzeichnis nicht existierte und b) der lokale Benutzer keinen Zugriff darauf hatte. Ich habe das Verzeichnis dann angelegt. Danach klappten auch die weiteren Vorschläge wie im Artikel beschrieben. 

Da man nun nicht immer Lust hat, sich durch CMD und “Als anderer Benutzer ausführen” quälen möchte, habe ich für mich eine kleine Anwendung angelegt, die über eine XML – Datei gesteuert dann in der Lage ist, das Thema abzuarbeiten. Aktuell befindet sie sich noch im “Beta”-Test – ich werde sie aber in den nächsten Tagen dann hier auf dem Blog freigeben. 

Die erste Registerkarte hat nicht wirklich viele Element – sie startet nur die in einer XML Datei definierten Teams. Da die Daten in einer XML-Datei abgelegt werden, sollte das Passwort auf das Userprofil nicht im Klartext zu lesen sein. Daher wird das Passwort in verschlüsselter Form abgelegt. Die Verschlüsselung erfolgt auf der 2. Registerkarte.

Die XML-Datei sieht dann wie folgt aus: 

Ich denke, die Elemente sind leicht erklärt: 

  • Konto[x] ermöglicht die Ablage mehrerer Konten in der XML – Datei
  • Team ist eine frei gewählte Bezeichnung für das Team
  • Domain: legt die Domäne fest. Ist es der angemeldete Benutzer, entfällt der Eintrag, bei einem lokalen Benutzer wäre dann “.\” als Domäne zu wählen. 
  • User und Password: hier werden die entsprechenden Werte hinterlegt. Das Passwort wird verschlüsselt eingetragen.
  • Profile: hier handelt es sich eher um Bequemlichkeit – aber es beinhaltet den Pfad zur jeweiligen “Update.exe” von MS Teams im Profil des Benutzers (sie auch den oben besprochenen Artikel). Die Parameter sind ja immer gleich und werden daher nicht in der XML-Datei aufgeführt.

Sobald der Betatest abgeschlossen ist (und noch die letzten Feinheiten ausgebügelt sind, sollte ich die Anwendung freigeben können (falls daran Interesse besteht). 

Von Skype for Business zu Microsoft Teams

Es ist sicher eines der aktuell ganz oft diskutierten Themen: komme ich von Skype for Business zu Microsoft Teams durch. Die nachfolgend aufgeführten Videos erläutern den Vorgang aus der Sicht von Microsoft. 

Wie in Kommentaren angemerkt, handelt es sich offensichtlich um mitgeschnittene Webcasts, die nicht nachbearbeitet wurden. Damit ist die Audio-Qualität teilweise nicht optimal. 

Bandbreiten für Microsoft Teams, Exchange Online und Skype for Business

Das Thema welche Bandbreiten benötige ich für Microsoft Teams, Exchange Online und Skype for Business stellt sich in jedem Projekt. Microsoft hat schon sehr früh für diese Themen sogenannte Bandbreiten-Kalkulatoren zur Verfügung gestellt – allerdings ist es nicht immer einfach, diese zu finden. 

Bei Microsoft Teams versteckt sich diese Funktionalität inzwischen hinter dem Begriff Network Planner for Microsoft Teams – die Suchen nach Bandwidth Calculator läuft inzwischen ins Leere. Eine Beschreibung hierzu findet man im Artikel: Use the Network Planner for Microsoft Teams. Dort findet man auch den Link auf eine PPTX, die Schritt für Schritt die Nutzung erläutert. 

Auch für Skype for Business existiert ein Bandwidth Calculator. Hierbei handelt es sich um eine Excel Datei, die ausgefüllt werden muss. 

Für Exchange Online gibt es zwei gute Anlaufstellen. Zum einen findet man einen Artikel zum Thema “Network and migration planning for Office 365” (von Dean Suzuki). Zum anderen gibt es einen relativ alten Exchange Client Network Bandwidth Calculator (Exchange 2010!) zum Download in Technet. Dieser kann aber durchaus hilfreich dabei sein, die notwendige Bandbreite einzuschätzen. 

Wichtig dabei ist: Bei der Ermittlung der Bandbreite geht es nicht darum, ein Tool zu haben, in dem man auf einen Knopf drückt und das dann einen Wert ausspuckt – wie aus der PowerPoint zum Network Planner für Microsoft Teams aber auch aus dem Artikel zur Migration nach Office 365 deutlich wird, muss man selbst eine Reihe von Parametern beisteuern, um zu den richtigen Werten zu gelangen.

 

Abkündigung von Skype for Business Online

Es sollte niemanden überraschen, dass Microsoft gestern einen Blog Eintrag mit der Abkündigung von Skype for Business ONLINE veröffentlicht hat. Stichtag ist der 31. Juli 2021. 

Ich habe bewusst das ONLINE gross und fett geschrieben – da es keine Auswirkungen auf den “on-premises”-Teil (Server) hat. Die Ankündigung bezieht sich auf den 31. Juli 2021. Ab diesem Zeitpunkt wird der Dienst nicht mehr erreichbar sein. Bis zu diesem Datum wird es keine Änderungen für die Kunden, die Skype for Business Online nutzen, geben.

Aus dieser Abkündigung von Skype for Business Online ergeben sich folgende Regelungen:

  • Nutzer, die Skype for Business Online nutzen, müssen vor dem 31.07.2021 auf Microsoft Teams migrieren.
  • Kunden, die Skype for Business on-premises hybrid mit Skype for Business Online nutzen, müssen ebenfalls bis zum 31.07.2021  den Online-Teil auf Teams migriert haben. 
  • Die ACP (Audio Conferencing Providers)-Integration wurde ebenfalls auf den 31.07.2021 verlängert. 

Eine erste Informationsquelle, um sich mit Teams vertraut zu machen, findet man unter der Technischen Dokumentation zu Microsoft Teams. Aber – und das ist extrem wichtig: Microsoft Teams ist zwar auch ein technisches Thema, aber letztendlich hat es deutlich mehr mit Change Management und Prozessen im Unternehmen zu tun. Insofern ist die Zeit, die hier im Raum steht (< 1 Jahr), sportlich und muss genutzt werden. 

Weitere Links: 

Quellen rund um das Thema Microsoft Teams

Inzwischen ist es schwierig, sich eine Übersicht zu verschaffen, wo wichtige Informationen rund um das Thema “Teamwork” bei Microsoft zu finden sind. Insofern finde ich es hilfreich, wenn man gelegentlich eine Sammlung von Quellen findet – in diesem Fall war es eine Vorarbeit die A. Chattopadhyay geleistet hat und aus der ich folgende (sehr Entwickler-lastige) Tabelle erstellen konnte: 

 

  Title + Information
BRK2023

Microsoft Teams: What’s new on the platform

What’s new in the Microsoft Teams platform and learn how to leverage the latest innovation to deliver something incredible. Dive deep into new features and take advantage of the momentum behind Microsoft Teams.

BRK3081

Maximizing existing solutions and services in Microsoft Teams

Boost productivity by re-using your solution instead of recreating it. Learn how and where to start harnessing your existing workplace investments across Microsoft solutions and other platforms. We’ll create apps and integrations that extend and modernize solutions using the Microsoft Teams platform, showcasing multiple real-world solutions from partners.

BRK4011

Microsoft Teams automation with Microsoft Graph: bots, APIs, and more

In this session, we’ll learn how to build a bot that uses Microsoft Graph to integrate Microsoft 365 data and Microsoft Teams. We’ll use device code authentication, security and directory APIs, the Bot Framework, and finally demonstrate how to push the bot into Microsoft Teams.

CFS3009

Microsoft Flow & Microsoft Graph – Automated processing of information intelligently

Microsoft Graph API support M365 in many ways. Other services like PowerApps and Flow provide direct or indirect integration with MS Graph API. Microsoft Flow, in particular, provide the capability to automate business processes and governance for various services in Azure and M365. When we add MS Graph API with Flow, it’s best combination. By using Graph API connector in Flow, you can automate many processes like creating new Teams, sending important messages in Teams, reviewing security threats and deciding the actions. All these capabilities are available build in the product. What you need is a business problem. As takeaway from this sessions, you will learn how to connect Graph API with Flow and use it for real world scenarios.

CFS2003

Automate Caffeine delivery with a Teams “CoffeeBot”

Microsoft Teams is shaping up as the hottest tool on the collaboration block, and bots are shaping up as the way to scale out interaction with complex internal IT systems.
Furthermore, the performance of your team relies on the presence of the sweet aroma, taste, and heart-starting impact of caffeinated beverages.
Using Microsoft Teams, Microsoft’s Bot Framework and LUIS from Azure Cognitive Services, learn how to add a bot to a Team, manage channel and private conversations to ask one of the most critical questions in today’s modern workplace – “who wants a coffee”?

   
 

Microsoft Teams developer platform

See, how teams around the world collaborate, go to the market, and build modern apps more efficiently with Teams

 

Microsoft Teams Platform Academy

Hier finden Sie grundlegende Videos – wie z. B. “Microsoft Teams Platform overview” oder z. B.  “Microsoft Teams Platform Architecture Overview

 

SharePoint Framework

Updated SharePoint Framework training package which is targeted to be used for self-learning or for redelivering provided material as a local training delivery inside of your own company or for your customers. All materials are provided for you to reuse anyway you preferred without any needs for asking permissions or notifying anyone (“sharing is caring”).

 

Graph Api

This sample demonstrates using the Microsoft Graph APIs for Microsoft teams to automate team lifecycles for Contoso Airlines. every night, they create a new team for each flight they are flying the following day, and after the flight, they archive the team… 

 

Demo App für Microsoft Teams:

Airline example with “Flight information Bot, Passenger information Bot, Baggage information Bot …” aber auch Beispiele für Manufacturing (Inventory Bot), Professional Services (Employee Leave App) etc.

HR Sample: a Microsoft Teams app that will be used by the Human Resources department within their Microsoft Teams clients. The app will facilitate the department’s hiring of new talent into the organization, provide immediate interview feedback, schedule interview loops, and improve the overall hiring process of new employees. Contoso HR Talent App will help you understand how to transform hiring and candidate management flow of new talent and make it more interactive and responsive for HR teams and interviewees.

 

Office developer – hands on labs

Eine Sammlung von Trainings rund um Office. Hier finden Sie zahlreiche Beispiele. Dabei geht es nicht nur um die Erstellung von Addins für Office Anwendungen, sondern auch z. B. um Themen wie “Extend a Microsoft Teams app with Authentication” oder “Build Microsoft Teams customization using SharePoint Framework”.

 

SharePoint Framework – Tutorial

Sie finden hier eine Sammlung von Anleitungen rund um SharePoint-Entwickler-Themen wie z. B. “Getting startet with SharePoint Framework client-side Webparts” oder “Build your first Field Customizer extension

 

Eine spannende Sammlung stellen die “selfpacedlabs” dar. Hier können die Trainings nach verschiedenen Gesichtspunkten gefiltert werden – insgesamt stehen über 150 Labs zur Verfügung. Diese reichen von “A day in the life of a teams admin” bis zu “Administering Office 365 with Windows PowerShell”

Ich denke, dass trotz des hohen Entwickler-Anteils, viele interessante Informationen in den genannten Websites, Videos oder Artikeln rund um das Thema Teamwork verfügbar sind.

« Ältere Beiträge

© 2019 Blog

Theme von Anders NorénHoch ↑