Archiv der Kategorie: Server

Serverspeicher: Berichte und Kontingente

Mit dem Ressourcen Manager für Dateiserver (File Server Resource Manager, FSRM) kann man Speicherkontingente und Speicherberichte auf dem Dateiserver verwalten.

Bericht
Unter Speicherberichteverwaltung kann man direkt einen Bericht starten oder eine neue Aufgabe planen, die dann regelmässig ausgeführt wird.

image

Man kann auswählen, was der Bericht soll und muss ihm einen Namen geben. In diesem Beispiel (Dateien nach Besitzer) wird ausgegeben, wer wie viel Platz auf dem Server benötigt.

image

Auf der Registerkarte Bereich kann man angeben, welche Ordner da miteinbezogen werden sollen.

image

Mit den Registerkarten “Zustellung” und “Zeitplan” kann man steuern, wer diesen Bericht wie oft per Mail zugesandt bekommt. Die Berichte werden zusätzlich noch unter “C:\StorageReports” abgelegt.

Kontingente
Mit der Kontingentverwaltung kann man Kontingente für einzelne Ordner erstellen. Ich wollte keine harten Kontingente erstellen. Besser schien mir, dass der Benutzer ein Mail erhält, sobald er mehr als eine festgelegte Grenze in seinem Userhome speichert.

Dazu erstellt man zuerst eine Kontingentvorlage mit den gewünschten Eigenschaften.

image 

Die Benachrichtigung kann man mit einem eigenen Betreff und Nachrichtentext anpassen.

image

Nun kann man das Kontingent erstellen. Dazu wählt man den Speicherort (z.B. die Freigabe der Userhomes) und wählt die vorher erstellte Vorlage. Wichtig ist, dass man “Vorlage autom. anwenden, Kontingente in Unterordnern erstellen” auswählt.

image

Somit wird pro Unterordner (also pro Userhome) ein Kontingent erstellt.

image

Sobald das Kontingent überschritten wird, bekommt der Benutzer ein Mail, das ihn darauf aufmerksam macht. Er kann aber trotzdem z.B. die Datei “die das Fass zum überlaufen bringt” normal speichern und sich erst später ans aufräumen machen. Ist irgendwie freundlicher als harte Kontingente. 

Active Directory Änderungen mit Powershell

Jeden Sommer lösche ich automatisiert die Accounts der Schüler/-innen, die nicht mehr bei uns zur Schule gehen und erstelle danach die neuen Accounts. Die Accounts werden aus dem ersten Buchstaben des Vornamens und dem Nachnamen gebildet, also im Stil von v.nachname. Wenn der Account bereits existiert, kann man so den zweiten Buchstaben des Vornamens verwenden, also vo.nachname und so weiter. Trotzdem können noch Probleme auftreten. So haben wir z.B. drei Schüler mit dem gleichen Namen und weitere Fälle mit doppelten Namen. Auch wenn die Lehrpersonen untereinander abmachen, welcher Schüler welchen Accountnamen besitzt, habe ich dann beim automatischen Abgleich auch schon den falschen Account gelöscht.

Seit wir Lehreroffice zusammen mit VRSG benutzen, haben wir in unseren Daten einen eindeutigen Schlüssel, der in VRSG produziert wird und dann in Lehreroffice übernommen wird.

image

Dieser Schlüssel kann nun gebraucht werden, um die Accountdaten eindeutig einem Schüler zuzuweisen.

Bei der Erstellung der neuen Accounts in diesem Sommer habe ich diesen Schlüssel als “Beschreibung” ins Active Directory importiert.

image

Damit ich beispielsweise beim Löschen der Accounts der ausgetretenen Schüler/-innen diese ID statt der Namen vergleichen kann, müsste ich aber warten, bis alle Schüler/-innen, deren Account vor diesem Sommer erstellt wurden, aus der Schule ausgetreten sind, was doch einige Jahre warten bedeuten würde…

Manuell die ID bei all diesen Schüler/-innen nachzutragen, bedeutet wahrscheinlich mehrere Tage Arbeit und ist dann auch noch fehleranfällig. Powershell bietet mit Set-ADUser eine Möglichkeit, die Benutzeraccounts nachträglich automatisiert zu bearbeiten. Man benötigt also eine passende CSV-Datei mit den Lehrerofficeschlüsseln und ein Skript.

CSV-Datei
Die CSV-Datei benötigt einen passenden Wert wie den ganzen Namen und den neuen Eintrag für die Beschreibung. Damit die Namen übereinstimmen, müssen sie auf dem gleichen Weg erstellt werden, wie ich das jeweils für die neuen Accounts mache. Dazu kopiert man von jeder Schulgemeinde in Lehreroffice alle Schüler (oder eine Gruppe) in eine Exceltabelle und löscht in diesem Fall alle Spalten ausser Vorname, Nachname und Schlüssel.

image

Damit die Namen brauchbar sind, muss man einiges ersetzen. Bisher sind mir folgende Zeichen untergekommen: ä,ö,ü,é,è,ë,á,ó,Û,ú,ò,ô,ï. Ausserdem ersetze ich alle Leerschläge, Bindestriche – und Apostrophe ‚. Dies kann man in Excel mit “Suchen und Ersetzen” erreichen oder mit einer verschachtelten “wechseln” Funktion. Da man in Excel nicht beliebig viele Funktionen verschachteln kann, habe ich die Funktion auf drei Schritte aufgeteilt:

=WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(Tabelle1!A1;“ „;““);“-„;““);“‚“;““);“ä“;“ae“);“ö“;“oe“);“ü“;“ue“);“é“;“e“);“è“;“e“)

=WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(A1;“ë“;“e“);“à“;“a“);“ó“;“o“);“Û“;“U“);“ú“;“u“);“ò“;“o“);“ô“;“o“);“ï“;“i“)

=WECHSELN(WECHSELN(WECHSELN(B1;“Ä“;“Ae“);“Ö“;“Oe“);“Ü“;“Ue“)

Danach erhält man bereinigte Vor- und Nachnamen. Praktisch wäre es, wenn Lehreroffice bei den Personaldaten zwei Spalten mit den um Sonderzeichen bereinigten Vor- und Nachnamen bereitstellen würde. So etwas würde von zu wenigen gewünscht, war die Antwort auf eine Anfrage, die schon länger zurückliegt.

In einer neuen Tabelle kann man nun die bereinigten Vor- und Nachnamen und den Schlüssel bereitstellen. Um den Vor- und Nachnamen in eine Zelle zu bekommen, kann man diese Formel benutzen (Blattname und Zellename anpassen):

=Tabelle2!C1&“ „&Tabelle2!F1

Nun kann man die Datei als CSV speichern. Excel exportiert standardmässig mit Strichpunkt als Trennzeichen, Powershell mit Komma. Daher ersetze ich im CSV jeweils noch alle ; mit ,.

Skript
Um nun dem Schülernamen den passenden Schlüssel hinzuzufügen kann man folgendes Powershellskript verwenden:

Import-CSV „C:\PS\leoid.csv“ | ForEach-Object {
Get-ADUser -Filter „name -eq ‚$($_.name)'“  |
Set-ADUser -Description $_.LeoID
}

image

Gruppenrichtlinien für Windows 10

Um die neuesten Gruppenrichtlinien für Windows 10 zu verwalten, muss man die entsprechenden admx Vorlagen herunterladen und am besten in den Central Store kopieren.

Dummerweise hat sich da ein Fehler bei der Lokalisation eingeschlichen. Wenn man eine Gruppenrichtlinie bearbeiten möchte, kommt immer dieser Fehler:

“Die in der Eigenschaft “$(string.SUPPORTED_Vista_through_Win7)” aufgeführte Ressource displayName konnte nicht gefunden werden. Datei \\domain\SysVol\domain\Policies\PolicyDefinitions\PreviousVersions.admx, Zeile 11, Spalte 111”

image

Gemäss Technet-Forum fehlt in der deutschen adml Datei eine Zeile. Wenn man wie dort empfohlen diese in Zeile 57 hinzufügt, kommt die Fehlermeldung nicht mehr.

image

Wahrscheinlich werden die Vorlagen demnächst mal angepasst, damit dieser Workaround nicht mehr benötigt wird.

SCCM 2012 R2

SCCM gehört zu der System Center Familie von Microsoft, die sich zur Verwaltung von grösseren Umgebungen anbietet, aber normalerweise ziemlich teuer ist. Mit den Schulkonditionen von Microsoft sind diese Produkte aber für Schulen preislich sehr interessant, wenn man auch “nur” ein Netzwerk mit ein paar Hundert und nicht ein paar Tausend Clients betreut (vgl. auch Data Protection Manager).

Ich bin nun daran, auf SCCM 2012 R2 zu migrieren. Unter anderem, weil ich noch dieses Jahr Windows 10 ausrollen muss (wir bekommen Convertibles, die nicht mehr (sinnvoll) unter Windows 7 laufen). SCCM 2012 R2 unterstützt seit einem Update nicht nur die Verwaltung von Windows 10, sondern auch das Deployment (automatische Installation) von Windows 10.

Leider habe ich wieder einmal den Fehler gemacht, zu wenig zu dokumentieren (ich bin wohl derjenige, der diese Dokumentationen am häufigsten benötigt). So muss ich immer mal wieder im Internet nach dem gleichen suchen, weil ich es schon nicht mehr richtig weiss. Daher hier der Versuch, zumindest grob aufzuschreiben, was ich bisher gemacht habe, um danach dann wieder “sauber” zu dokumentieren. Vielleicht kann der Beitrag ja trotzdem auch noch jemand anderem helfen…

Es gibt keinen direkten Migrationspfad von SCCM 2007 auf SCCM 2012 (R2). Damit ich keine Altlasten auf dem neuen System habe, wird der neue nur Clients mit Windows 10 bedienen. Darum müssen beide Systeme bis zur vollständigen Migration der Clients nebeneinander laufen. Eigentlich sollte SCCM 2012 R2 neu mit überlappenden Grenzen (boundaries) klarkommen, es hat sich aber gezeigt, dass alles funktioniert, ausser die Verteilung der Updates. Daher habe ich IP-Adressbereiche als Grenzen genommen. So kann ein Server für den Adressbereich x.y.z.1 bis x.y.z.100 zuständig sein und der andere von x.y.z.101 bis x.y.z.200. Sobald ein Client migriert wird, muss man ihm im DHCP Server eine Reservierung im neuen Bereich erstellen. Zumindest für das erste Testvlan. Allenfalls kann man dann andere Vlans in einem Rutsch migrieren. Umständlich, aber mir ist für den Migrationsprozess nichts besseres bekannt. Wenn alles abgeschlossen ist, kann man wieder das ganze Active Directory als Grenze angeben.

Installation und Konfiguration (noch nicht fertig) habe ich bisher gemäss dieser sehr empfehlenswerten Anleitung (Standalone Primary Server) auf windows-noob.com vorgenommen. Diese ist zwar für Windows 7 verfasst, funktioniert aber auch für Windows 10.

Dieses Mal habe ich mich entschieden, das Office Packet direkt in das Grundimage zu nehmen, weil das Neuaufsetzen deutlich schneller läuft, wenn Office schon im Image steckt, statt als Teil der Tasksequenz während der Verteilung installiert werden muss. Hier findet man eine gute Anleitung zur Verteilung von Office 2013 (auch ohne SCCM).

Wie es weitergeht, versuche ich nun wieder besser zu dokumentieren…

Office 365: Ausführbare Anhänge blockieren

Das ist nun schon das zweite Mal, dass uns Malware per Mail erreicht.

Auch dieses Mal befindet sich die Malware in einem Zip-Archiv. Die Absenderadresse ist gefälscht und kann aber durchaus eine sein, die man kennt. Scheinbar kommen Absender und Empfänger aus einem infizierten Adressbuch, so dass die Chance gross ist, dass der Empfänger den Absender kennt und für vertrauenswürdig hält.

image

Wenn man das angehängte “Report.zip” (oder ähnlich) herunterlädt, handelt es sich um eine ausführbare “exe” Datei, die aber durch ein falsches Symbol (z.B. PDF) vertrauenswürdig erscheinen möchte.

image

Bei beiden Malen war es so, dass der Virenscanner die Datei noch nicht als Virus oder Trojaner erkennt. Auch bei diesem Mal wird die Datei auf www.virustotal.com nur von 3 aus total 57 Scannern als Malware erkannt wird.

image

Erfahrungen vom letzten Mal haben gezeigt, dass die gleiche Datei am nächsten Tag von allen 57 Scannern erkannt wird. Aber in dieser Zeit kann ein Befall stattfinden. Wir setzen Endpoint Protection von Microsoft ein. Um zu erreichen, dass der Scanner noch schneller angepasst wird, kann man ein “sample” an Microsoft schicken. Dazu verpackt man die Datei in ein mit dem Passwort “infected” geschütztes Archiv.

image

Dieses kann man über diese Seite an Microsoft zur Überprüfung senden, damit der Virenscanner möglichst schnell angepasst wird.

image

Eine Möglichkeit ist es, die Anwender per Mail zu informieren. Zum einen weiss ich aber, dass meine Mails oft nicht oder nicht richtig gelesen werden Zwinkerndes Smiley und zum anderen haben wir auch noch Schüler/-innen, die nach einer solchen Mitteilung vielleicht erst recht die Datei ausführen.

Es gibt aber nicht viele Gründe, wieso ausführbare Dateien überhaupt per Mail geschickt werden müssten. Besser ist es also, wenn man diese schon blockiert, bevor sie beim Benutzer ankommen.

Dazu wählt man im “Exchange Admin Center” –> “Nachrichtenfluss” –> “Regeln”.

image

Durch einen Klick auf das Plus kann man eine neue Regel erstellen.

image

Nun wählt man zuerst “weitere Optionen…”

image

Der Regel muss man einen Namen geben und dann wählt man “Mindestens eine Anlage hat ausführbaren Inhalt” und “Die Nachricht ohne Benachrichtigung anderer Benutzer löschen”. Man könnte die Nachricht auch an den Absender zurückschicken mit einer Meldung, dass wir keine angehängten ausführbaren Dateien akzeptieren. Aber bei gefälschten Absenderadressen ist das eher kontraproduktiv (am Schluss meint man noch wir seien die Virenversender).

image

Gemäss diversen Internetressourcen dauert es eine gewisse Zeit, bis die neue Regel aktiviert ist. Danach sollte man die Regel unbedingt mit einem Testdokument von einer externen Adresse überprüfen.

Hier findet sich ein entsprechender Blogbeitrag auf MSDN und hier auf dem Technet. Falls es zu Problemen kommt, findet man hier einen Beitrag, der allenfalls eine Lösung bietet.

Nachtrag

Schon kurze Zeit später werden Mails mit ausführbaren Anhängen korrekt gelöscht. Es wurde sogar erkannt, dass ein umbenanntes Worddokument keine ausführbare Datei ist. Ich musste eine richtige exe nehmen um zu testen…

image

zurück zur Übersicht

Lehreroffice: Lange Startzeit

Ich habe nach der Migration von Lehreroffice auf einen neuen Server ein seltsames Phänomen.

Der Start von Lehreroffice auf einem Windows 7 Client funktioniert problemlos und schnell.

Wenn ich aber von einem Client mit Windows 8.1 auf den Server über eine Netzwerkfreigabe zugreife, dauert es immer etwa 20 Sekunden, bis er die Datei Lehreroffice.ini von der Netzwerkfreigabe geladen hat.

image

Der Lehrerofficesupport hatte dann die Idee, dass es ein Problem beim Zugriff auf die Freigabe sein könnte und um das zu testen einen Laufwerksbuchstaben für die Freigabe zu vergeben.

image

Wenn man das Programm nun über diesen Laufwerksbuchstaben startet, wird die INI Datei normal schnell geladen.

image

Ich bin dem dann noch weiter nachgegangen. Mit Wireshark habe ich ganz viele Einträge mit Fehlern gefunden, in denen der Freigabename abgeschnitten ist \\server\lehreroffic statt \\server\lehreroffice.

image

Auch mit dem Process Monitor sieht man, wie 20 Sekunden auf etwas gewartet wird und dann der Aufruf von \\server\lehreroffic fehlschlägt.

image

Wieso da ein Buchstabe abgeschnitten wird kann ich nicht sagen. Allenfalls gibt es einen Fehler im Programm. Es kann aber auch nicht ausgeschlossen werden, dass es gar nichts mit dem zu tun hat und es sich um ein Problem im Netzwerk handelt, obwohl der Aufruf der Freigabe mit dem Explorer normal und auch schnell funktioniert. Zu diesem Zeitpunkt habe ich nur einen Windows 8.1 Client, der auch noch über VLAN-Tagging auf der Netzwerkkarte ins Netz verbunden ist.

Im Moment kann ich aber ganz wie geplant auf den neuen Server migrieren, die Windows 7 Clients zeigen dieses Verhalten nicht. Wenn wir dann auf Windows 8 oder 10 wechseln, muss ich das nochmals überprüfen, allenfalls löst sich das Problem ja von selbst, weil in der Zwischenzeit die Implementierung von SMB in Windows 8 oder in der Entwicklungsumgebung von Lehreroffice angepasst wurde.

Wenn nicht, kenne ich ja nun dank dem Support von Lehreroffice einen Workaround mit dem verbundenen Laufwerksbuchstaben. Darauf würde ich aber lieber verzichten, trotzdem vielen Dank.

Nachtrag
Der Support von Lehreroffice hatte noch weitere Ideen zum Überprüfen. Wenn man alle Dateien in einem Unterordner der Freigabe kopiert und das Programm von dort startet, kann man den oben beschriebenen Aufruf von \\server\lehreroffic\ nicht beobachten und das Öffnen von Lehreroffice geht dann auch normal schnell. Neu liegt das Programm also nicht mehr im Ordner \\server\lehreroffice, sondern im Unterordner \\server\lehreroffice\Lehreroffice_Desktop\.

Wenn man die Pfade wie beschrieben nachträglich ändert, muss man auch die LehrerOffice.ini Datei entsprechend anpassen.

image

Somit ist das Problem für mich gelöst, auch wenn ich mir das Phänomen nicht wirklich erklären kann. Einmal mehr ein grosses Danke an den tollen Support von Lehreroffice.

Nachtrag 2
Gemäss Support von Lehreroffice liegt das Problem mit dem abgeschnittenen letzten Zeichen an einem Fehler in der verwendeten Entwicklungsumgebung. Es besteht schon eine Idee für eine Anpassung im Programmcode, um diesen Fehler abzufangen. Genialer Support, wie immer – schnell, freundlich und kompetent!

Probleme mit Winmail.dat

Outlook kennt 3 Möglichkeiten, wie ein Mail formatiert werden kann: “Nur Text”, “Rich Text”, “HTML”.

“Rich Text” ist ein proprietäres Format von Microsoft. Wenn ein Mail mit diesem Format verschickt wird, kommt technisch TNEF (Transport Neutral Encapsulation Format) zum Einsatz.

Einige Mailclients wie das Mailprogramm von Apple können aber mit dem TNEF Protokoll versendete Mails nicht lesen und bekommen ein Mail mit einem Winmail.dat Anhang, den sie ohne zusätzliche Programme oder Onlinedienste nicht öffnen können.

Obwohl es zu Problemen mit TNEF auf Empfängerseite kommen kann, sollte man es nicht ganz deaktivieren, da TNEF für Zusatzfunktionen wie Besprechungseinladungen, Abstimmungsschaltflächen oder Mailformulare verwendet wird.

Für Mails an externe Empfänger, die keine solchen Zusatzfunktionen verwenden, sollte man also nie das “Rich-Text” Format verwenden, sondern immer nur “Nur Text” oder “HTML”. Dies erreicht man, indem man bei der Registerkarte “TEXT FORMATIEREN” überprüft, was ausgewählt ist.

image

Standardmässig sollte hier ausgewählt sein, was man unter “Datei” –> “Optionen” –> “E-Mail” eingestellt hat.

image

Nun kann aber auch noch jede Mailadresse separate Einstellungen aufweisen. Dies kann man überprüfen, indem man z.B. in Outlook 2013 einen Rechtsklick auf die Mailadresse macht und “Outlook-Eigenschaften öffnen” auswählt. Wenn dort “Outlook wählt das optimale Sendeformat” ausgewählt ist, kann man hier auch “Als Nur-Text senden” erzwingen.

image

Diese Hintergrundinformationen interessieren die meisten Benutzer aber nicht und werden von vielen auch nicht verstanden. Für die Benutzer sollte das Mailsystem einfach funktionieren. Daher kann es sinnvoll sein, als Administrator für einzelne Empfänger oder ganze Domänennamen den Versand mit TNEF zu deaktivieren, wenn z.B. die Empfänger mit Apple Mail arbeiten und die oben erwähnten zusätzlichen Funktionen gar nicht nutzen können.

Um eine ganze Domäne zu konfigurieren, muss man sich zuerst mit Exchange Online über Powershell verbinden. Danach kann man eine neue Remotedomain erstellen, die man in einem weiteren Schritt konfiguriert:

New-RemoteDomain –Name Beispielschule –DomainName beispielschule.ch

Set-RemoteDomain –Identity Beispielschule -TNEFEnabled $false

image

In diesem Technet-Artikel ist zusätzlich noch beschrieben, wie man die Einstellung für einen einzelnen Kontakt ändert.

Komisch ist, dass wir auch einen Empfänger hatten, der mit Outlook und einem lokalen Exchangeserver einen Winmail.dat Anhang erhalten hat. Darüber habe ich im Internet aber nichts gefunden und kann es mir auch nicht wirklich erklären. Vielleicht ist da bei der lokalen Installation des Exchangeservers etwas eingestellt, das dieses Problem verursacht. Ich bin dem aber nicht weiter nachgegangen, sondern habe auch in diesem Fall einfach die Remotedomäne für TNEF deaktiviert.

neue User mit Powershell erfassen

Früher hatte ich zum Erstellen von neuen Benutzern ein Powershell Skript, das auf dem Exchangeserver lief und gerade auch ein Postfach eröffnete.

Nach der Umstellung auf Office 365 musste ich ein neues Skript erarbeiten:

Import-CSV „createschueler.csv“ | ForEach-Object {
New-ADUser -Name $_.name `
-displayname $_.name `
-surname $_.lastname `
-givenname $_.firstname `
-SamAccountName $_.username `
-UserPrincipalName „$($_.UserName)@schalt.ch“ `
-Description $_.LeoID ` -Enabled $true ` -Path „AD OU“ `
-AccountPassword (ConvertTo-SecureString „Password“ -AsPlainText -Force) `
-ChangePasswordAtLogon $true `
-HomeDirectory („\\Serverpfad\“+$_.username) `
-HomeDrive „H:“ `
-EmailAddress ($_.username+“@schalt.ch“)
Add-ADGroupMember G_alleSchueler $_.username
md „\\serverpfad\schuelerhomes\$($_.username)“
cacls „\\serverpfad\schuelerhomes\$($_.username)“ /c /e /g schalt\“$($_.username)“:F
}

Mit diesem Skript werden aus einer CSV Datei die neuen Benutzer ausgelesen und angelegt. Die Benutzer sind in der passenden OU, in der richtigen Gruppe und bekommen ein neues Userhome, das als Laufwerk H verbunden wird. Ausserdem habe ich neu in der CSV-Datei eine neue Spalte LeoID für die eindeutige Schüler-ID in Lehreroffice erfasst. Damit sollte es einfacher werden, die Accounts mit Lehreroffice abzugleichen um herauszufinden, welche Accounts gelöscht werden können und welche neuen angelegt werden müssen.

image

Nachdem die neuen User über DirSync mit Office 365 synchronisiert wurden, muss man ihnen dort noch eine Lizenz zuweisen. Dies kann man auch über Powershell erreichen. Falls ich das mal nachhole, werde ich das hier verlinken.

Löschung
Um einen User vollständig zu löschen, verwende ich dann folgendes Skript:

Import-CSV „deleteSchueler.csv“ | ForEach-Object {
Remove-ADUser -Identity $_.username -Confirm:$false
Remove-Item „\\netzwerkpfad\Schuelerhomes\$($_.username)“ -Recurse -Force
Remove-Item „\\netzwerkpfad\dfs\Schuelerordnerumleitung\$($_.username)“ -Recurse -Force
Remove-Item \\netzwerkpfad\dfs\Schuelerprofile\$($_.username).V6 -Recurse -Force
}

image