Sicheres W-LAN mit IEEE 802.1X und NPS-RADIUS mit Windows Server 2012

Guter Leitfaden, auch bei einem notwendigem Umzug, bei mir gerade Umzug von IAS 2003 nach NPS 2012.

Update: Sicheres W-LAN mit IEEE 802.1X und RADIUS mit Windows Server 2012 » Bents Blog » Von Bent Schrader.

Hinzuzufügen wäre nur folgendes:
Aufgrund der EAP (PEAP)-Implementierung kann man nur gegen ein Zertifikat zur Zeit validieren. D.h. entweder gegen Computerkonten ODER Benutzerkonten der Domäne, nicht beides in der Bedingungssteuerung der WLAN-Netzwerkrichtlinie des NPS. Um z.B. BYOD-Geräte zu verhindern, deren Nutzer sich mit ihrem gültigen Domänenbenutzer an diesen Geräten erfolgreich authentifizieren können, wäre wohl die Filterung auf Computer geeigneter.
Zu beachten war bei mir aber, dass in der GPO, die die Drahtlosnetzwerkrichtlinie konfiguriert, an einer Stelle angepasst werden muss, damit die NPS-Bedingung auch zuverlässig mit dem übereinstimmt, was dort ankommt.
Im Dropdown der Drahtlosnetzwerkrichtlinie, dort wo festgelegt wird, ob die Authentifizierung gegen Benutzer, Computer oder wahlweise eines von beiden erfolgen soll, sollte NUR Computer ausgewählt werden. Ansonsten versuchte sich der Client immer zunächst mit den Benutzer-Credentials anzumelden, obwohl in der NPS-Richtlinie eine Computergruppe als Bedingung angegeben war. Das klappte dann nicht.

Cyanogenmod 11 – läuft!

Zugegeben – meine Schmerzgrenze ist relativ hoch. Und so kam es, dass ich monatelang dem immer langsamer werdenden Reaktionen meines Galaxy S3 zuschaute, bisweilen mit leicht grimmigen Gesichtsausdruck und wachsender Ungeduld.

Ich bin in manchen Dingen auch ein Konservativling. So finde ich zum Beispiel, dass die Telefoniefunktion immer noch die Wichtigste ist und wenn ich mal jemanden anrufen will, dann muss es schnell gehen. Wenn aber diese Funktion auch nur eine App von vielen ist und es im Schnitt jeweils 2 Sekunden dauert, bis das Adressbuch geöffnet, der Kontakt und die richtige Telefonnummer ausgewählt ist und erneute 2-3 Sekunden verstreichen, bis dann endlich die Rufnummer gewählt wird, war mir das einfach zu viel.

Tja und dann ging mir die Bloatware auf den Senkel. Angefangen über Samsung-Kram hin zu Google-Apps. Außerdem konnte ich mit einem ungerooteten Gerät kein richtiges Backup durchführen – also als Nandroid-Image oder eben mit Tools wie z.B. Titanium-Backup.

Drum liebäugelte ich mit einem CustomRom wie Cyanogenmod. Dran gehindert hat mich die letzten Monate eigentlich nur die Tatsache, dass es eine komplette Neuinstallation des Betriebssystems ist und ich mich anfangs nicht damit beschäftigen wollte, wie ich wohl die Daten wie Bilder, Apps, Settings, Kontakte und Anrufhistorien sichern und dann wiederherstellen könnte. Naja, ich dachte, es wäre sicher zeitaufwendig. Außerdem war das Gerät ja noch nicht so alt.

Aber – es war gar nicht so schlimm! 🙂
Am Anfang rooten des Geräts (aber vorher lesen und verstehen), dann Daten sichern (Kontakte, Kalender dabei in der Cloud gespeichert – macht’s einfacher), Cyanogenmod installieren, gesicherte Apps (möglichst keine Systemapps!) wieder zurückspielen, einrichten – fertig. Gut, waren im Endeffekt 4-8 Stunden, die man mal investieren muss. Zuzüglich nochmal 1-2 Tage Kleinkram-Konfigurationen. Aber es lohnt sich, wie ich finde.
Als zusätzlichen AppStore habe ich F-Droid genommen, OpenSource ist schon cool. Ach – das Theme „Great Freedom“ sieht nicht nur gut aus, sondern passt auch vom Motto her ganz gut zum Endergebnis. 😉

Alles in Allem – richtig gut!

Exchange 2010 – aktuelle Anmeldungen herausfinden

Manoman…nicht alles wird einfacher mit neueren Versionen. Möchte man gern sehen, welche Benutzer sich innerhalb der letzten Stunde am Exchange-Server angemeldet haben, hilft folgendes, übersichtliches CmdLet:

Get-Mailbox -Resultsize Unlimited | Get-MailboxStatistics | where-object {$_.LastLogonTime -gt (get-date).AddHours(-1)} | select Displayname, LastLogonTime | Sort LastLogonTime

Oder folgendes:

Get-LogonStatistics -Server „SERVERNAME“ | Sort-Object -property UserName -unique | where-object {$_.LastAccessTime -gt (get-date).AddMinutes(-30)}

Aber Achtung – OWA-Zugriffe werden hier nicht angezeigt.

MS Exchange 2010 – Backup mit der Windows Server-Sicherung und Powershell

Soll ein Exchange-Server gesichert werden, passiert das in der Regel z.B. so, dass man ihn mit einem Backup-Agent der zentralen Backuplösung versorgt, den Backupjob anlegt und ein paar Konfigurationen vornimmt.
Hat man diese zentrale Backuplösung nicht, kann man die integrierte Windows Server-Sicherung ab Server 2008 nutzen. Zumindest ab Exchange 2007 SP2, denn erst hier kam das VSS-Plugin (Volume Shadow Copy Service / Schattenkopien) für die Windows Server-Sicherung mit hinzu.
Wie man dann einen zeitgesteuerten Backupjob zusammenklickt, so dass Datenbanken und Logs gesichert werden, findet man schnell im Netz. Das Ergebnis ist dann aber ein Haufen von Dateien und mehreren Verzeichnissen – nicht mehr, so wie vormals, einzelne, .bkf-Dateien.
Wir müssen also noch komprimieren, packen und auf einen Backupserver kopieren. Im Fehlerfall möchten wir natürlich eine Benachrichtigung per E-Mail und ein Logfile. Außerdem soll das Backup der letzten 7 Tage in ein jeweiliges Wochentagsverzeichnis gespeichert werden. Zunächst lokal und dann in eine Freigabe eines Backupservers mit gleicher Ordnerstruktur.
Und da es noch ein paar andere Dinge gibt, die es zu beachten gilt, habe ich mir ein Powershell-Script für das Ganze geschrieben. Damit hat man ein tägliches .zip-File, das das Backup in ein jeweiliges Wochentagsverzeichnis kopiert. Im Fehlerfall (und wenn man möchte, auch im Erfolgsfall), wird man per Mail incl. Logfile benachrichtigt.

Um ZIPpen zu könnnen, habe ich mich für 7-Zip entschieden, was vorher installiert sein muss. Das packen ist Out-Of-The-Box bei der Powershell nur mit einer etwas längeren Codepassage möglich – und das Script ist so schon lang genug ;-). Ansonsten müssten nur die Pfade und ein paar Konstanten angepasst werden, dann sollte es laufen. Achtung wegen Zeilenumbrüchen. Ach ja – es wurde bei mir getestet mit Server 2008 R2 und Exchange-Server 2010 SP3 RU1.

Hier der direkte Download als ZIP: Exchange-daily-backup-official_v13

Update:
Im ZIP-File befindet sich auch eine Textdatei „diskshadow_script.txt“, in der der Laufwerksbuchstabe angepasst werden muss, auf der die Schattenkopien nach erfolgtem Backup aufgeräumt werden sollen. Das entspricht normalerweise der Backuplocation im Kopf des Backupscriptes.
Die Datei muss im selben Verzeichnis liegen, wie das Backup-Script.

Fehler 0x80070643 bei Installation des RU6 für Exchange 2010 SP2

Gestern versucht, RU6 zu installieren. Aktuell ist RU5v2. Es erschien ein Windows-Update Fehler (0x80070643) – übrigens funktionierte auch das Script „StartDAGServerMaintenance.ps1“ in der EMS nicht mehr. D.h. automatischer Wartungsmodus für einen Server, wenn man eine DAG hat, war nicht möglich. Ursache war das vor 4 Wochen per WindowsUpdate herausgebrachte „Windows Management Framework 3.0“, das u.a. die Powershell 3.0 mitbringt und diese wiederum nicht mit Exchange 2010 SP2 RU5v2 zusammenarbeitet. 🙂
Vorgehensweise ist hier, das Update (KB2506146) zu deinstallieren, neu zu starten, dann das RU6 (diesmal erfolgreich) zu installieren. Zuvor kann man übrigens trotzdem das Maintenance-Script benutzen – nur mit der PowerShell 2.0. Einfach eine neue Verknüpfung auf den Desktop legen mit folgendem Ziel:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -version 2 -noexit -command „. ‚C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1‘; Connect-ExchangeServer -auto“

Windows-Versionen für Scripting

Die wohl vollständigste Liste der in Verwendung befindlichen Windows-Versionen, soeben wieder mal um ein Betriebssystem erweitert. 😉

for /f „tokens=1,2,3,4* delims= “ %%i in (‚ver‘) do set version=%%i %%j %%k %%l

if „%version%“ == „Microsoft Windows XP [Version“ (goto XP;)
if „%version%“ == „Microsoft Windows 2000 [Version“ (goto 2000;)
if „%version%“ == „Microsoft Windows [Version 5.2.3790]“ (goto 2003;)
if „%version%“ == „Microsoft Windows [Version 6.0.6000]“ (goto Vista;)
if „%version%“ == „Microsoft Windows [Version 6.0.6001]“ (goto Vista;)
if „%version%“ == „Microsoft Windows [Version 6.0.6002]“ (goto Vista;)
if „%version%“ == „Microsoft Windows [Version 6.1.7600]“ (goto Windows7;)
if „%version%“ == „Microsoft Windows [Version 6.1.7601]“ (goto Win7SP12008R2;)
if „%version%“ == „Microsoft Windows [Version 6.2.9200]“ (goto Windows8;)

Exchange 2010 – Ressourcenreservierung mit E-Mail an Vertreter

Es soll eine Ressource vor der automatischen Genehmigung (Attribut „AutomateProcessing“) eine Freigabe vom Vertreter anfordern. Leider kommt die E-Mail nicht beim Vertreter an und die Ressource wird vom System automatisch gebucht.

Grund waren bei uns die Attribute „AllBookInPolicy“ (muss auf $false) und „AllRequestInPolicy“ (muss auf $true). Bei den standardmäßig angelegten Ressourcen ist das genau andersherum…

Set-CalendarProcessing -Identity <ResourcenPostfach> -AutomateProcessing AutoAccept -ResourceDelegates <email@des.stellvertreters> -AllBookInPolicy:$false -AllRequestInPolicy:$true

Enterprise-CA auf einen anderen Server umziehen

Wenn ein Server unter Windows 2003 SP2, der gleichzeitig DC ist und die Enterprise-Zertifizierungsstelle führt, abgelöst und durch einen 2008 R2-Server ersetzt werden soll, kann man schon graue Haare (also noch mehr graue Haare, als sowieso schon) bekommen…
Ein verbreiteter Microsoft-Artikel beschreibt den Umzug unter der Empfehlung, dass der Zielservername und auch das Betriebssystem identisch sein sollten. Außerdem muss die Plattform identisch sein. Tja, da spätestens beißt sich die Katze in den Schwanz, denn ich kann den alten Server nicht einfach ausschalten, da er u.a. noch DC ist und die DC-Dienste bekomme ich nicht runter, weil die Zertifikatsdienste drauf sind. 🙂
Wie dem auch sei – nach längerem Suchen hier ein Guide, der den Umzug der CA von 2003 SP2 nach 2008 R2 unter Berücksichtigung unterschiedlicher Computernamen beschreibt. Man sollte allerdings locker 4-6 Stunden für das Durcharbeiten einplanen…

Active Directory Certificate Services Migration Guide.

Edit im Januar 2017: Hier der Nachfolge-Guide zur Migration der CA von einem DC mit 2008 R2 nach 2012 R2:

Active Directory Certificate Services Migration Guide for Windows Server 2012 R2