Montag, 12. Oktober 2020

Onlineunterricht mit Dokumenten Kamera

Hallo!

Heute möchte ich mich nicht direkt mit der paedML Linux beschäftigen sondern wie man in der Coronazeit seinen Unterricht per Videokonferenz zu den SuS nachhause bringen kann. 

In meiner Schule gibt es Klassen, bei denen einzelne SuS nicht zum Präsenzunterricht kommen. Damit diese den Unterricht miterleben können habe ich mir folgendes Setup überlegt. 

Im Klassenzimmer steht ein Computer mit Mikrofon oder WebCam und einer Möglichkeit zur Projektion (Beamer/Display) und außerdem eine Dokumentenkamera (wir haben den ELMO L-12w verwendet). Die Lehrkraft öffnet Moodle/Teams und startet eine Videokonferenz. In der Konferenz wird der Bildschirm des Lehrer PCs geteilt, somit können die nicht anwesenden SuS den Bildschirminhalt von Zuhause aus sehen, die anwesenden SuS sehen das Bild auf dem Beamer. 

Der Elmo wird per USB an den PC angeschlossen und dessen Bild mit der kostenlosen Software Image Mate (auf der Webseite von Elmo erhältlich) auf dem Desktop dargestellt. 

Die Lehrkraft kann nun ihren Unterricht mit der Dokumentenkamera halten, der Ton wird für entfernte Teilnehmer vom Mikrofon übertragen. Alls SuS sehen die gleichen Inhalte und auch entfernte SuS können über Lautsprecher rückfragen stellen.

Dies ist nur eine Möglichkeit, beistimmt gibt es viele andere Ansätze dafür. Es war nur die Möglichkeit, welche ich für meine Kolleginnen und Kollegen als mit den wenigsten Hürden behaftete ansehe. 

Falls Sie Fragen oder Anmerkungen haben schreiben Sie mir einfach eine Mail. 

johannes.albani (at) bs-achern.de

Mittwoch, 12. August 2020

Moodle usw. mit LDAP aus der paedML Linux versorgen

 Hallo!

Da das neue Schuljahr direkt ansteht hier eine kleine Ideensammlung:

Moodle:

User aus der paedML können mit dem offiziellen Dokument angelegt werden:

https://lehrerfortbildung-bw.de/st_digital/elearning/moodle/anleitung/administration/benutzer/auth/ldap-anbindung_moodle_paedml_linux_gs_2020_04_01.pdf

Gruppenmitgliedschaften werden bald auch in das Dokument kommen, eine Anleitung dafür findet sich aber auch hier:

https://help.univention.com/t/cool-solution-install-moodle-ldap-enrollments/13262

Neuer Benutzerimport:

Der neue BenutzerImport wird in der paedML erst mit der kommenden Version kommen, wer trotzdem diesen Weg gehen will kann meinen Artikel benutzen. 

https://paedmllinux.blogspot.com/2019/12/neuer-csv-import.html

Die JSON Datei sieht bei meinen Tests zur Zeit wie folgt aus:

{

"csv": {

"mapping": {

"Skript 4": "record_uid",

"Vornamen": "firstname",

"Familienname": "lastname",

"Klasse": "school_classes"

}

},

    "scheme": {

        "username": {

            "default": "<:umlauts><firstname>[0].<lastname><:lower>[COUNTER2]",

            "student": "<:umlauts><firstname:alphanum>[0:10].<lastname:alphanum><:lower>[COUNTER2]",

"teacher": "<record_uid><:lower>[COUNTER2]"

        }

},

"school": "schule",

"password_length": 8

}


Dienstag, 21. April 2020

Office 365 / Microsoft 365 anpassen

VORSICHT: Der Einsatz von Microsoft 365 / Teams ist in Schulen in BW meines Wissens nicht mehr erlaubt!
https://www.baden-wuerttemberg.datenschutz.de/ms-365-schulen-hinweise-weiteres-vorgehen/


Es gibt viele Einstellungen, welche man in den Onlinediensten von Microsoft für den Einsatz in der Schule anpassen kann/sollte. Hier möchte ich eine Auswahl der mir bekannten Probleme geben und jeweils einen Link zu Anleitungen, um diese zu beheben.

https://docs.microsoft.com/de-de/microsoftteams/teams-quick-start-edu?tutorial-step=3

Nur Lehrer dürfen Teams erstellen

Microsoft hat dazu diesen Artikel erstellt (hier) und verweist darin auf ein Powershellskript. Ich habe dieses auf die Lehergruppe angepasst. Stellen Sie sicher, dass auch wirklich alle Lehrenden in der Gruppe Lehrer sind.
Install-Module AzureADPreview
$GroupName = "Lehrer"
$AllowGroupCreation = "False"
Connect-AzureAD

$settingsObjectID = (Get-AzureADDirectorySetting | Where-object -Property Displayname -Value "Group.Unified" -EQ).id
if(!$settingsObjectID)
{
      $template = Get-AzureADDirectorySettingTemplate | Where-object {$_.displayname -eq "group.unified"}
    $settingsCopy = $template.CreateDirectorySetting()
    New-AzureADDirectorySetting -DirectorySetting $settingsCopy
    $settingsObjectID = (Get-AzureADDirectorySetting | Where-object -Property Displayname -Value "Group.Unified" -EQ).id
}

$settingsCopy = Get-AzureADDirectorySetting -Id $settingsObjectID
$settingsCopy["EnableGroupCreation"] = $AllowGroupCreation

if($GroupName)
{
    $settingsCopy["GroupCreationAllowedGroupId"] = (Get-AzureADGroup -SearchString $GroupName).objectid
}
 else {
$settingsCopy["GroupCreationAllowedGroupId"] = $GroupName
}
Set-AzureADDirectorySetting -Id $settingsObjectID -DirectorySetting $settingsCopy

(Get-AzureADDirectorySetting -Id $settingsObjectID).Values

Mail einschränken (Exchange)

Standardmäßig haben SuS zurgiff auf Microsoft Exchange mit ihrem Benutzernamen als Mailadresse. Um das senden und empfangen unter Kontrolle zu halten können Regeln definiert werden, dass die SuS nurnoch Mails von der gleichen Domäne empfangen können und auch nur intern Mails schreiben dürfen.
Unter diesem Link finden Sie eine Anleitung zur Erstellung der Regeln.

  1. Log on to your office.portal.com as the administrator
  2. Go to admin center
  3. Expand admin center and click Exchange
  4. Click "Rules" under "Mail flow" category
  5. Click "+" to create a new rule
  6. Fill in the rule name
  7. Choose "The recipient is located" from "Apply this rule if" drop down.
  8. Choose "Outside the organization" when a new window opens and then click OK.
  9. Click "More Options" to change other options.
  10. Choose "Reject the message with the explanation" from "Do the following" drop down.
  11. Type a message in the new window and click OK.
  12. Click Save.

Keine Privaten Kanäle erlauben

In jedem Team können  private Kanäle erstellt werden. Diese sind nur für Teilnehmer und Teambesitzer sichtbar und sind in einer Schulsituation von SuS leicht ausnutzbar. Um die Erstellung von privaten Kanälen zu unterbinden wurde auf dieser Seite ein Skript vorgstellt, durch das man das erstellen von privaten Kanälen verbieten bzw auf einzelne User beschränken kann.

Dienstag, 31. März 2020

Nextcloud - Features hinzufügen

Ich habe an meiner Schule beretis eine Nextcloud installiert, in dieser lassen sich dann weitere Features hinzu installieren. In meiner Erfahrung sind viele Erweiterungen relativ einfach umzusetzen. Hier ist meine Liste von Nextcloud-Erweiterungen, welche ich an meiner Schule einsetze und die man sich auf eigene Gefahr nachinstallieren kann.

Um weitere Funktionen zur Nextcloud hinzuzufügen loggen Sie sich als Administrator, (z.B: nc_admin) bei der Cloud an und klicken rechts oben auf das Benutzersymbol. Dort findet man als Administrator neben Einstellungen und Abmelden auch Apps und Benutzer. Klicken Sie auf Apps um auf die App Übersichtsseite zu gelangen.

1. Kalender / Aufgaben

Der Kalender war für mich die treibende Kraft eine Cloud in der Schule aufzubauen.
Die Apps befinden sich z.B. in der Kategorie Organisation. Dort kann Calendar und Tasks hinzugefügt werden.
Leider sind ein paar Funktionen der Kalender App nicht ganz perfekt. So funktioniert das Abonieren des Kalenders und der Aufgaben über Apple-Geräte ziemlich perfekt, Android benötigt aber die App DAVx5, welche 4€ pro User kostet.
Außerdem hatte ich beim Teilen von Kalendern ab und zu das Problem, dass Gruppen und User nicht im Teilen Dialog gefunden wurden. Dies scheint in der aktuellsten Version aber zu funktionieren. In meiner Standardeinstellung ist das Teilen nur mit Usern aus eigenen Gruppen erlaubt, diese kann man über die Schulkonsole ja steuern, z.B. Lehrer in Klassen eintragen oder Arbeitsgruppen erstellen. Bei Problemen mit dem Teilen habe ich diese Option für einen Moment deaktiviert, dadurch war das Teilen des Lehrerkalenders dann kein Problem mehr.

2. Nextcloud Talk

Die Nextcloud Talk App ist ein kostenloser Chat Client. Auch hier können die User nur mit Usern aus eigenen Gruppen kontakt aufnehmen, auch Videochat ist möglich. Es gibt auch eine App für Android und iOS. Nicht perfekt, aber es läuft!

3. Onlyoffice

VORSICHT: Ich habe an meiner Schule OnlyOffice in Benutzung und muss eine Warnung aussprechen: Wir nutzen die offizielle Version in der Demo-Variante (bis 3 oder 5 Nutzer gleichzeitig), bei mehr Benutzern muss extra lizenziert werden. Meine Kolleginnen und Kollegen klagen immer wieder darüber, dass Änderungen in Dateien nur sehr unzuverlässig übernommen werden. Dateien werden auf unterschiedlichem Stand angezeigt (2 Menschen sehen unterschiedliche Inhalte), Änderungen werden teils akzeptiert, teils verworfen... Daher ist OnlyOffice zwar eine „nette Spielerei“, aber für mich leider keine akzeptable Lösung mehr. Die Community-Variante ist noch kritischer zu betrachten, da diese laut App-Bewertungen sehr viele Fehler enthält. 
Hinweis: In der Nextcloud 18 wurde die Community-Edition von Onlyoffice auch als Nextcloud App entwickelt. Die Installation beschränkt sich dadurch anscheinend auf das Installieren der Nextcloud App, es ist keine weitere Serveranwendung notwendig. Dies konnte ich aber bisher nicht testen. 
Office-Dateien direkt in der Cloud öffnen zu können macht die Cloud intuitiver nutzbar. Dafür kann man z.B. Onlyoffice verwenden. Aber Vorsicht, die Community-Edition ist auf 20 Sitzungen beschränkt, mehr gleichzeitige User müssen dann lizenziert werden. Leider ist die Installation auch etwas komplexer als nur die Nextcloud App zu installieren. Es muss zusätzlich auf dem Nextcloud Server im UCS Appsore die Onlyoffice App installiert werden. Nach der Installation muss gegebenenfalls in der Nextcloud als Admin bei Einstellungen --> ONLYOFFICE bei "Serviceadresse der Dokumentbearbeitung" die Adresse richtig angepasst werden. Nun werden docx, xlsx und pptx Dateien direkt vom Browser aus in Onlyoffice geöffnet.

4. Links zu anderen Webseiten 

Meine Schule hat über WebUntis das Sigitale Klassenbuch und wir haben natürlich auch eine Webseite und Moodle. Links auf solche Seiten kann man ebenfalls in der Nextcloud als Auswahlpunkt hinzufügen. Dazu nutzen Sie die App "External Sites".

5. Weitere Editoren

Natürlich kann man auch andere Apps hinzufügen, ich habe z.B. Draw.io und Mind Map in die Nextcloud integriert. Dieser werden allerdings von den Benutzern wohl wenig benutzt, solange kein Videotutorial sie dazu auffordert...

Montag, 30. März 2020

Tutorial Videos

Ich erstelle für meine Schule immer wieder Tutorial Videos: Benutzung der Nextcloud, Schreiben von Tickets in WebUntis oder Arbeiten mit Microsoft Teams. Manches in den Videos ist speziell für meine Schule ausgerichtet, manches aber auch allgemein verwendbar. Die Aufzeichnungen mache ich mit dem kostenlosen und empfehlenswerten OBS Studio. Anbei einige der Videos:

Nextcloud:
Anmelden und Teilen
Dateien erhalten und teilen

Office 365:
Teams öffnen
Team erstellen
Aufgaben in Teams bearbeiten (für SuS)

Sonntag, 29. März 2020

Benutzer in Office 365 anmelden

VORSICHT: Der Einsatz von Microsoft 365 / Teams ist in Schulen in BW meines Wissens nicht mehr erlaubt!
https://www.baden-wuerttemberg.datenschutz.de/ms-365-schulen-hinweise-weiteres-vorgehen/


Edit: Damit SuS keine eigene Teams erstellen können, ist eine weiteres Sktipt notwendig. Dieses Skript befindet sich am Ende dieses Artikels!

Edit2: Das SuS anmeldeskript wurde erweitert, die SuS werden nun zusätzlich zur Klassengruppe noch in die "Schueler" Gruppe eingeteilt. 


Generell wird ein Office 365 Admin Konto und die kostenlosen Lizenzen für Lehrerde und SuS benötigt.

Hier das Skript für die SuS. Das Skript muss auf einem PC im Schulnetz ausgeführt werden, damit es LDAP Anfragen durchführen kann und legt auf h: eine Datei office365Benutzerliste.txt ab, in der die angelegten Accounts nochmals notiert werden.

Install-Module MSOnline
Connect-MsolService
$SuSLizenz=$false

#Eine Liste aller bei Office angemeldeten Nutzer und ihren Passwörtern finden Sie auf h:\office365Benutzerliste.txt
New-Item -Path h:\ -Name "office365Benutzerliste.txt" -ErrorAction Ignore

######################Schuldomäne eintragen
$schulsuffix="@bsachern.onmicrosoft.com" #ein Beispiel
$schulsuffix=".365@meineschule.onmicrosoft.com" #ein komplexeres Beispiel
Write-Host "Sie müssen nun eingeben, wie die SuS sich bei Office365 anmelden sollen."-ForegroundColor Magenta
Write-Host "Tragen Sie im folgenden "-ForegroundColor Magenta -NoNewline
Write-Host "@meine-schule.de" -ForegroundColor Cyan -NoNewline
Write-Host " ein, wenn ihre SuS sich mit" -ForegroundColor Magenta
Write-Host "maxi.muster@meine-schule.de" -NoNewline -ForegroundColor Cyan
Write-Host " bei Office 365 anmelden sollen. maxi.muster ist" -ForegroundColor Magenta
Write-Host "dabei der Loginname der paedML." -ForegroundColor Magenta
$schulsuffix=Read-Host "Eingabe"
Write-Host $schulsuffix
$antwort = Read-Host "Ist die Einagabe korrekt?:" $schulsuffix " mit J und Eingabetaste bestätigen!"
if(-not($antwort -match "J")){
    Write-Host "Sie haben nicht bestätigt, breche ab. " -ForegroundColor Red
    break
}
Write-Host "Das Passwort der SuS wird auf klasse-Off!ce gesetzt, klasse entspricht dem Klassenbezeichner in der paedML" -ForegroundColor Magenta
Write-Host "also z.B. 1b-Off!ce oder auch 1bk2w3-Off!ce. Achten Sie auf das Ausrufezeichen bei Off!ce, Buchstaben der Klasse sind klein!" -ForegroundColor Magenta
Read-Host "Bestätigen mit Eingabetaste"

######################Lizenzen auslesen
$lizenzen=Get-MsolAccountSku
foreach($lizenz in $lizenzen.AccountSkuId){
    Write-Host "Lizenz: " $lizenz
    if($lizenz -match "STANDARDWOFFPACK_IW_STUDENT"){
        Write-Host "Lizenz für SuS gefunden!" -ForegroundColor Green
        $SuSLizenz = $lizenz
    }
}
######################Lizenzen auslesen Ende

if(-not $SuSLizenz){
    Write-Host "Die Lizenz für SuS wurde nicht gefunden, breche ab." -BackgroundColor Red
    Write-Host "Wenn Sie die Lizenzen mit dem Befehl Get-MsolAccountSku selbst finden " -BackgroundColor Red
    write-host "können Sie diese den Wert SuSLizenz in Zeile 3 von Hand zuweisen." -BackgroundColor Red
    Write-Host "meineadressede:STANDARDWOFFPACK_IW_STUDENT sollte so ein Key heißen." -BackgroundColor Red
    Write-Host "Löschen Sie beim manuellen Einfügen die Zeilen zwischen #####Lizenzen auslesen bis #####Lizenzen auslesen Ende" -BackgroundColor Red
    Break
}

#Eine Gruppe in der alle SuS eingeteilt werden.
$SuSGroup = Get-MsolGroup -all |  Where {$_.DisplayName -like "Schueler"}
if($SuSGroup -eq $null){
    $SuSGroup=New-MsolGroup -DisplayName "Schueler"
}
else{
    "ist schon da"
}
$SuSGroupID = $SuSGroup.ObjectId

$gruppen = [adsi]"LDAP://CN=klassen,CN=schueler,CN=groups,ou=schule,dc=paedml-linux,dc=lokal"
foreach($klasse in $gruppen.Children.distinguishedName){
    $bezeichnung=($klasse.Split("=")[1]).Split(",")[0] -replace 'schule-'
    write-host "################### Verarbeite Klasse " $bezeichnung "####################" -ForegroundColor Green
    $pfad = "LDAP://CN=schule-$($bezeichnung),CN=klassen,CN=schueler,CN=groups,ou=schule,dc=paedml-linux,dc=lokal"
    $SuS = [adsi]$pfad
    #Klasasengruppe wird angelegt und ihre ID in gruppenID abgelegt.
    $gruppenID = (New-MsolGroup -DisplayName $bezeichnung).ObjectId




  
    #Remove-MsolGroup -ObjectId $gruppenID

    foreach($s in $SuS.member){
        if($s -match "lehrer"){
            Write-Host "Lehrpersonen werden nicht in Klassen eingeteilt. Loginname: " ($s.Split("=")[1]).Split(",")[0] -ForegroundColor yellow
        }
        else{
            $sname = ($s.Split("=")[1]).Split(",")[0]
            Write-Host $sname -NoNewline -ForegroundColor Cyan
            Write-Host " wird in die Klasse " -NoNewline
            Write-Host $bezeichnung  -NoNewline -ForegroundColor Green
            Write-Host " eingetragen"
            $schueler = [adsi]"LDAP://$s"
            $loginname = [String]($sname+$schulsuffix)
            $user=New-MsolUser -UserPrincipalName $loginname -DisplayName ([String]($schueler.displayName)) -FirstName ([String]($schueler.givenName)) -LastName ([String]($schueler.sn)) -Password "$($bezeichnung)-Off!ce" -ForceChangePassword $true -Department $bezeichnung -LicenseAssignment $SuSLizenz -UsageLocation de
            Add-MsolGroupMember -GroupObjectId $gruppenID -GroupMemberObjectId $user.ObjectId
            Add-MsolGroupMember -GroupObjectId $SuSGroupID -GroupMemberObjectId $user.ObjectId
            $ausgabe = [String]($user.DisplayName) +", "+ [String]($user.UserPrincipalName) +", "+ [String]($user.Password)
            Add-Content -Value $ausgabe -Path h:\office365Benutzerliste.txt
        }
    }
}
Write-Host "Die Anmeldung ist beendet, öffnen Sie h:\office365Benutzerliste.txt um die Benutzerdaten zu sehen. " -ForegroundColor Green
Für das Anlegen von Lehrenden habe ich mich für einen CSV Import entschieden, da an meiner Schule sich die Lehrenden mit ihrer eMail-Adresse bei Microsoft anmelden, nicht mit ihrem Kürzel wie in der paedML.
Dazu muss man eine CSV mit den Überschriften vorname, name, email erstellen und mit den Daten der Lehrenden befüllen. Das Skript erwartet diese Datei unter h:\lehrende.csv, dies kann aber im Skript in Zeile 4 angepasst werden. 

Install-Module MSOnline
Connect-MsolService
$LuLLizenz=$false
$lehrende = Import-Csv "h:\lehrende.csv"
#Eine Liste aller bei Office angemeldeten Nutzer und ihren Passwärtern finden Sie auf h:\office365Benutzerliste.txt
New-Item -Path h:\ -Name "office365BenutzerlisteLehrer.txt" -ErrorAction Ignore

######################Schuldomäne eintragen
Write-Host "Die Benutzer werden aus der Datei h:\Lehrende.csv gelesen." -ForegroundColor Magenta
Write-Host "Das Passwort der Lehrenden wird auf Willkommen@Off!ce gesetzt" -ForegroundColor Magenta
Write-Host "Der Benutzernamen entspricht der eMail Adresse" -ForegroundColor Magenta
Write-Host "Die eMail Adresse muss bei der gleichen Domäne sein, wie ihre Office 365 Domäne." -ForegroundColor Magenta
Read-Host "Bestätigen mit Eingabetaste"

######################Lizenzen auslesen
$lizenzen=Get-MsolAccountSku
foreach($lizenz in $lizenzen.AccountSkuId){
    Write-Host "Lizenz: " $lizenz
    if(($lizenz -match "MEINE_EIGENE_LIZENZ")-or($lizenz -match "STANDARDWOFFPACK_IW_FACULTY")-or ($lizenz -match "STANDARDWOFFPACK_FACULTY") ){
        Write-Host "Lizenz für Lehrende gefunden!" -ForegroundColor Green
        $LuLLizenz = $lizenz
    }
}
######################Lizenzen auslesen Ende
Write-Host "Diese Lizenz wird für Lehrende verwendet: " $LuLLizenz -ForegroundColor Green
Write-host "Abbrechen mit Strg + c"
Read-Host "Bestätigen mit Eingabetaste"

if(-not $LuLLizenz){
    Write-Host "Die Lizenz für Lehrende wurde nicht gefunden, breche ab." -BackgroundColor Red
    Write-Host "Wenn Sie die Lizenzen mit dem Befehl Get-MsolAccountSku selbst finden " -BackgroundColor Red
    write-host "können Sie diese in Zeile 17 von Hand zuweisen." -BackgroundColor Red
    Write-Host "meineadressede:STANDARDWOFFPACK_FACULTY sollte so ein Key heißen." -BackgroundColor Red
    Write-Host 'Ändern Sie in Zeile 17 ' -NoNewline -BackgroundColor Red
    Write-Host '$lizenz -match "MEINE_EIGENE_LIZENZ"' -ForegroundColor Green -NoNewline -BackgroundColor Red
    Write-Host ' zu ' -BackgroundColor Red
    Write-Host '$lizenz -match "GEWUENSCHTE_OFFICE_LIZENZ" ' -ForegroundColor Green -BackgroundColor Red
    Break
}
$lehrende = Import-Csv "h:\Lehrende.csv"
Write-Host
Write-Host "Gefundene Lehrerinnen und Lehrer: " -BackgroundColor DarkGreen
foreach($lehrer in $lehrende){
    Write-Host $lehrer.vorname $lehrer.name "" -NoNewline
    Write-Host $lehrer.email -ForegroundColor Yellow 
}
Write-Host
Write-Host "Kontrollieren Sie, ob die CSV reichtig gelsen wurde."
Write-Host "Wenn ihr Kollegium richtig angezeigt wird bestätigen Sie mit J und Enter"
$antwort = Read-Host "Soll die Anmeldung durchgeführt werden? J für ja eingeben. "
if(-not ($antwort -eq "J")){
   Write-Host "Vorgang abgebrochen" -ForegroundColor Red
   break
}
$gruppenID = (New-MsolGroup -DisplayName "Lehrer").ObjectId
foreach($lehrer in $lehrende){
    Write-Host $lehrer.vorname $lehrer.name " wurde angemeldet."
    $name = $lehrer.vorname +" "+ $lehrer.name
    $user=New-MsolUser -UserPrincipalName $lehrer.email -DisplayName $name -FirstName $lehrer.vorname -LastName $lehrer.name -Password "Willkommen@Off!ce" -ForceChangePassword $true -Department "Lehrer" -LicenseAssignment $LuLLizenz -UsageLocation de
    Add-MsolGroupMember -GroupObjectId $gruppenID -GroupMemberObjectId $user.ObjectId
    $ausgabe = [String]($user.DisplayName) +", "+ [String]($user.UserPrincipalName) +", "+ [String]($user.Password)
    Add-Content -Value $ausgabe -Path h:\office365BenutzerlisteLehrer.txt
}
Write-Host "Die Anmeldung ist beendet, öffnen Sie h:\office365BenutzerlisteLehrer.txt um die Benutzerdaten zu sehen. " -ForegroundColor Green

Um das Erstellen von Teams auf das Lehrer-Kollegium einzuschränken wird folgendes Skript verwendet. Achten Sie darauf, dass Lehrende, welche im Nachhinein noch in der Cloud angemeldet werden auch zur Sicherheitsgruppe "Lehrer" hinzugefügt werden müssen, um eigene Teams erstellen zu dürfen. Falls ihre Lehrerg Gruppe nicht "Lehrer" heißt, passen Sie die Zeile 2 des Skriptes bitte an.  Das Skript kommt bis auf die ersten zwei Zeilen direkt von Microsoft, der Artikel dazu hier.


Install-Module AzureADPreview
$GroupName = "Lehrer"
$AllowGroupCreation = "False"

Connect-AzureAD

$settingsObjectID = (Get-AzureADDirectorySetting | Where-object -Property Displayname -Value "Group.Unified" -EQ).id
if(!$settingsObjectID)
{
      $template = Get-AzureADDirectorySettingTemplate | Where-object {$_.displayname -eq "group.unified"}
    $settingsCopy = $template.CreateDirectorySetting()
    New-AzureADDirectorySetting -DirectorySetting $settingsCopy
    $settingsObjectID = (Get-AzureADDirectorySetting | Where-object -Property Displayname -Value "Group.Unified" -EQ).id
}

$settingsCopy = Get-AzureADDirectorySetting -Id $settingsObjectID
$settingsCopy["EnableGroupCreation"] = $AllowGroupCreation

if($GroupName)
{
    $settingsCopy["GroupCreationAllowedGroupId"] = (Get-AzureADGroup -SearchString $GroupName).objectid
}
 else {
$settingsCopy["GroupCreationAllowedGroupId"] = $GroupName
}
Set-AzureADDirectorySetting -Id $settingsObjectID -DirectorySetting $settingsCopy

(Get-AzureADDirectorySetting -Id $settingsObjectID).Values