Archiv der Kategorie: IT

Aufräumarbeiten im Active Directory

Da in unserem AD jede Menge alter Quatsch steht und wir bei unserer Remote-Drucker-Lösung so langsam an die Anzahl der maximalen Lizenzen kamen, musste ein wenig aufgeräumt werden.

Für erste Arbeiten verwende ich dabei mehrere Powershell-Einzeiler:

1. Auflistung aller deaktivierten Benutzer-Accounts:

Search-ADAccount –AccountDisabled –UsersOnly –ResultPageSize 2000 –ResultSetSize $null | Select-Object SamAccountName, DistinguishedName | Export-CSV “C:\deaktivierte_benutzer.CSV” -NoTypeInformation

2. Auflistung aller abgelaufenen Benutzer-Accounts:

Search-ADAccount -AccountExpired -UsersOnly -ResultPageSize 2000 -resultSetSize $null| Select-Object Name, SamAccountName, DistinguishedName | Export-CSV “C:\abgelaufene_benutzer.CSV” -NoTypeInformation

3. Deaktivierung aller abgelaufenen Accounts

Search-ADAccount -AccountExpired -UsersOnly | Where-Object {$_.Enabled} | Disable-ADAccount

Exchange 2016 Event ID 5, MSExchange Control Panel

Hallo Fans,

Auf unserem Exchange-Server konnte ein User-Postfach einfach nicht per ECP bearbeitet werden.
Bei einem Doppelklick auf den Punkt „Postfachstellvertretung“ erschien immer die Fehlermeldung, dass der Vorgang nicht abgeschlossen werden konnte und man es später versuchen sollte.

Im Anwendungs-Ereignisprotokoll des Exchange-Server wurde folgendes geloggt:

Current user: ‚domain/ou/oe/user‘
Web service call ‚https://servername:444/ecp/DDI/DDIService.svc/GetObjectOnDemand?ActivityCorrelationID=0b1ac686-c5ee-bf04-2f7b-f77a874ed707&schema=MailboxService&msExchEcpCanary=fc-h6Le6ckaS–Ov-TAbhOBF1-bnHtcIqFnc6gMa2sC2slXNe7fSsQqZV4Z2ddVpQFIRK7gxnwE.(https://servername/ecp/DDI/DDIService.svc/GetObjectOnDemand?ActivityCorrelationID=0b1ac686-c5ee-bf04-2f7b-f77a874ed707&schema=MailboxService&msExchEcpCanary=fc-h6Le6ckaS–Ov-TAbhOBF1-bnHtcIqFnc6gMa2sC2slXNe7fSsQqZV4Z2ddVpQFIRK7gxnwE.)‘ failed with the following error:
Microsoft.Exchange.Data.Directory.Recipient.NonUniqueRecipientException: Es wurden mehrere Objekte mit der SID S-1-5-32-544 gefunden.

Nach kurzer Googlesuche fand diesen Blogpost bei msitpros, wobei die Fehlermeldung / SID des Users leicht abwich.

Über die Microsoft-Support-Seite fand ich dann heraus, dass die SID S-1-5-32-544 zur Gruppe „Vordefiniert\Administratoren“ gehört.

Ich checkte das betroffene Postfach, ob die Gruppe „Vordefiniert\Administratoren“ irgendwelche Berechtigungen hatte und siehe da:

Also per

Remove-MailboxPermission -Identity Postfach -user vordefiniert\administratoren -AccessRights

die entsprechenden Berechtigungen entfernt und es kam anschließend im ECP zu keiner Fehlermeldung mehr. Hurra. \o/

DHCP-Reservierung kann nicht erstellt werden

Wenn eine DHCP-Reservierung nicht erstellt werden kann, weil die angegebene IP- oder Hardwareadresse bereits von einem anderen Client verwendet wird, obwohl weder IP- noch MAC-Adresse vorhanden sind, sollte sich der DHCP-Server mal genauer mit NETSH angeschaut werden.

Man dumpt also einfach mal den kompletten DHCP-Server mit

netsh dhcp server dump > c:\dhcp_dump.log

in eine Textdatei und sucht nun nach der IP- bzw. MAC-Adresse. Mit hoher Wahrscheinlichkeit stellt man nun fest, dass da totaler Mumpitz drinsteht.
Wenn man nun die fehlerhafte Reservierung über das MMC-Snapin löscht und neu angelegt, sollte es keine Probleme mehr geben. (:

IP-Adressreservierung unter der MAC-Adresse im DHCP-Server finden

Oft stehe ich bei einem unaufgeräumten DHCP-Server und mittelmäßiger Dokumentation vor dem Problem, dass ich eine IP-Adressreservierung im DHCP-Server anlegen will, dieser dann aber meckert, dass die IP- oder Hardware-Adresse schon vergeben sei.

Da es bei mehreren tausend Reservierungen relativ schwierig ist, in der Microsoft DHCP-Konsole die fehlerhafte Reservierung zu finden, hilft mir folgender Powershell-Einzeiler.

Get-DhcpServerv4Scope | Get-DhcpServerv4Lease -EA SilentlyContinue -ClientId 00-00-00-00-00-00

Thinkpad X230 Zwei-Finger-Tippen-Rechtsklick

… weil ich länger recherchierte und rumprobierte, hier der Registry-Key, der gesetzt werden muss, damit unter Windows 10 der Zwei-Finger-Tippen-Rechtsklick (<- Ich liebe die deutsche Sprache) funktioniert:

REG ADD HKEY_CURRENT_USER\Software\Synaptics\SynTP\TouchPadPS2TM1611 /v 2FingerTapAction /t REG_DWORD /d 2 /f

Erfolgreich getestet auf einem X230 2325KG1 mit frischem Windows 10 x64 1903 und allen Treibern über Lenovo Vantage.

Export von öffentlichen Zertifikaten aus VCF-Dateien

Hallo Fans,

bisher war es bei meinem Arbeitgeber so, dass wir in der IT-Abteilung zwar für die Erstellung der S/MIME-Zertifikate zuständig waren, die Benutzer das komplette Handling der E-Mail-Verschlüsselung jedoch selbst in die Hand nahmen.

Der große Kostenträger, mit dem wir zusammenarbeiten, stellt zum Glück alle öffentlichen Zertifikate seiner Benutzer auf einem Webserver zum Download bereit. Sogar als vorkonfigurierte VCF-Visitenkarten-Dateien, die, mit einem Editor geöffnet, so aussehen:

In der Zeile „KEY“ steht also direkt das Zertifikat. Um das zu verifizieren, kopierte ich den String ab „MII“ in eine Textdatei, speicherte diese als .CER ab und hatte das öffentliche Zertifikat des Empfängers beim Kostenträger. Yay \o/.

Da unsere Benutzer zum Glück die Ansage hatten, alle Kontakte, mit denen Sie verschlüsselt E-Mails austauschen müssen, in einem spezifischen Ordner ihres Home-Verzeichnisses zu speichern, lagen alle VCFs (und somit auch irgendwie schon die CERs) an einigermaßen einheitlichen Stellen.

Nun stand jedoch endlich die Einführung eines E-Mail-Verschlüsselungs-Gateway ins Haus, was jedoch mit allen öffentlichen Zertifikaten gefüttert werden musste. Und hier meine Vorgehensweise:

– Als erstes habe ich mir über unser Backup alle VCF-Dateien aller Benutzer per

xcopy QUELLPFAD\*.vcf ZIELPFAD /y

in ein Verzeichnis kopiert, um einen Überblick zu haben, wie viele öffentliche Zertifikate wir überhaupt haben. Mehrere Tausend.

– Anschließend kopierte ich alle VCF-Dateien in eine Einzige mit

copy *.vcf in merge.vcf

und hatte nun eine einzige, große, semikolongetrennte quasi CSV-Datei, indem ich schlicht die Dateiendung änderte:

– Die CSV dann schnell in Excel importiert und es fiel auf, dass in jeder 8. Zeile die E-Mail-Adresse des Zertifikatsinhabers, perfekt für einen Dateinamen, und in jeder 7. Zeile der String des Zertifikats steht.

– Mit der Excel-Formel „INDEX“ konnte ich dann leicht jede 7. und 8. Zeile der gesamten CSV auslesen und in andere Zellen setzen:

=INDEX(B:B;(ZEILE(B1)-1)*10+8)

– Mit der E-Mail-Adresse des Zertifikatsinhabers in Spalte C und dem String des Zertifikates in Spalte D, erstellte ich nun eine saubere semikolongetrennte CSV-Datei:

– Und erstellte zum Schluss mit

Import-Csv DATEIPFAD.csv -Delimiter ';' | ForEach-Object {"$($_.CERT)" | Set-Content -Path "$($_.MAIL).cer"}

für jede Zeile in der CSV-Datei eine .CER-Datei mit dem Namen in der Spalte MAIL und dem Inhalt in der Spalte CERT.

Voilà.

Nexus 5x Bootloader sperrt sich automatisch

Nachdem das Mainboard meines Nexus 5x den berüchtigten Hitzetod (wohl aufgrund von schlechtem Lödzinn) gestorben ist, schickte ich es zur Reparatur ein und wollte anschließend wieder LineageOS aufspielen.
Eigentlich ganz normaler Vorgang: Bootloader entsperren, alternatives Recovery flashen und das war’s eigentlich schon.

Nach dem Austausch aber erschien nach dem Entsperren des Bootloader immer wieder die Meldung SECURE BOOT: ENABLED (NO RPMB) und war anschließend wieder gesperrt. Verrückt. Hatte ich das Prozedere doch schon unzählige Male gemacht.

Nach ein paar Stunden Recherche, stieß ich dann auf diesen Reddit-Thread, in dem alles beschrieben ist.

Vielleicht hilft das ja dem ein oder anderen.

Mein aktuelles Setup

Hallo Fans,

vor einiger Zeit entschied ich mich, mir endlich mal wieder einen Gaming-PC zuzulegen, da Zocken mit dem Thinkpad X220 bzw. der integrierten Intel HD 3000 nicht mehr wirklich Spaß machte. Spiele wie Left4Dead oder Fallout 3 konnte ich nur in niedrigsten Auflösungen und Details spielen, was schon sehr frustrierte. Da ich schon länger mit dem Gedanken spielte, mir ein mini-ITX Gaming-PC zu kaufen, schaute ich auf’s Konto und bestellte folgendes:

Gehäuse: Fractal Design Core 500
Netzteil: Be Quiet! Straight Power 10 mit 600 Watt
Mainboard: Asus Z170I Pro Gaming
CPU: Intel Core i5 6600K
RAM: Corsair Vengeance 32 GB DDR4-2400 Kit in schwarz (CMK32GX4M2A2400C14)
Grafikkarte: Asus 1060 GTX STRIX GAMING mit 6 GB VRAM
CPU-Kühler: Noctua NH U12S
Gehäuse-Lüfter: Noctua NF-A14 PWM

Der Einbau ging recht fix und ohne größere Probleme, trotz des doch sehr geringen Platzes, vonstatten. Lediglich die sehr große Grafikkarte wurde von den Kabeln des Netzteils ca. 5 mm nach vorne gedrückt, was mir überhaupt nicht gefiel.

Auf dem Foto kann man vielleicht grob erahnen, was ich meine:

Also ein wenig recherchiert und probiert und dabei festgestellt, dass man die Halterung des Netzteils ausbauen kann und man somit das Netzteil ca. 1,5 cm weiter zur Gehäuseseite verschieben kann.
Problem dabei ist dann, dass das Netzteil lose im Gehäuse liegt, was ich jedoch mit vier Klettband-Streifen ziemlich gut lösen konnte:

Die Kabel des Netzteils berühren jetzt zwar noch die Grafikkarte, üben dabei aber keinen Druck auf diese aus:

Für eine ordentliche Verkabelung im Gehäuse führt man am besten alle Kabel in den Raum zwischen Frontblende und Gehäuse und zurrt diese mit viel Kabelbinder irgendwie am Gehäuse fest. Da muss es auch nicht wirklich ordentlich aussehen:

Installiert wurde Windows 10 Pro in der 64bit Variante auf einer 120 GB Samsung Evo 840 SSD. Spiele und sonstige Programme liegen aktuell noch auf einer zweiten 120 GB Evo 840, welche jedoch bald durch ein größeres Modell ersetzt werden muss.

Das System ist dabei im Desktop-Betrieb mit vielen Chrome-Tabs und sonstiger Software unhörbar leise. CPU und Gehäuse-Lüfter drehen bei ca. 500 bis 800 Umdrehungen pro Minute lautlos vor sich hin.

Selbst bei Spielen wie Left4Dead, Fallout 3 oder StarCraft II in höchsten Einstellungen springen dank Zero-Fan-Modus der Grafikkarte die Lüfter nicht an. Bei aufwendigeren Spielen oder der Mondlandung-Grafikdemo von NVidia sind die Lüfter der Grafikkarte jedoch hörbar, da das Gehäuse direkt rechts neben dem Mousepad auf dem Schreibtisch steht.

Bei Prime95 und gleichzeitigem FurMark liegt die Temperatur der Grafikkarte bei ca. 65°C, die CPU bei 50°C.

Datenträgerbereinigung ohne Desktopdarstellungs-Feature unter Server 2008 R2

Da auf Nicht-Terminalservern das Feature der Destopdarstellung eigentlich nichts zu suchen hat, die Server aber trotzdem (hoffentlich) Updates bekommen, ist hin un wieder eine Bereinigung durch die Datenträgerbereinigung nötig.

Um die Datenträgerbereinigung ohne Desktopdarstellungs-Feature unter Server 2008 R2 nutzen zu können, müssen nur zwei Dateien an einen anderen Ort kopiert werden.

C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe
muss nach
c:\windows\system32\

und

C:\Windows\winsxs\x86_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_de-de_b4bbf0180b1c4f68\cleanmgr.exe.mui

muss nach
c:\windows\system32\de-de\

Nun kann man ganz normal die cleanmgr.exe über „Ausführen“ öffnen. Yay.

Server 2008 R2 Terminalserver Standarddrucker und die mysteriöse Event-ID 1530

Hallo Fans,

Ich hatte vor Wochen bei einem Kunden das Problem, dass sich die verbundenen Standard-Drucker von verschiedenen (aber natürlich nicht allen) Benutzern mit Terminalserver-Profil nach Ab- und Wiederanmeldung auf den lokalen Standard-Drucker des Servers änderten.

Ca. 20% der betroffenen Benutzer meldeten zusätzlich, dass zuvor installierte Drucker nicht reproduzierbar nach Ab- und Wiederanmeldung verschwunden waren.

Im Anwendungs-Eventlog wurde parallel dazu bei der Abmeldung eines betroffenen Users die Warnung mit ID 1530 protokolliert:

Es wurde festgestellt, dass Ihre Registrierungsdatei noch von anderen Anwendungen oder Diensten verwendet wird. Die Datei wird nun entladen. Die Anwendungen oder Dienste, die Ihre Registrierungsdatei anhalten, funktionieren anschließend u. U. nicht mehr ordnungsgemäß.

DETAIL –
1 user registry handles leaked from \Registry\User\S-FAKE-USER-SID:
Process 564 (\Device\HarddiskVolume2\Windows\System32\svchost.exe) has opened key \REGISTRY\USER\S-FAKE-USER-SID\Printers\DevModePerUser

Irgendwas verhinderte also das korrekte Zurückschreiben von HKEY_CURRENT_USER in HKEY_USERS, sodass bei der nächsten Anmeldung des Benutzer falsche Werte aus HKEY_USERS geladen wurden.
Die Einstellungen unterhalb von HKCU\Software\Printers\ und HKCU\Software\Microsoft\Windows NT\CurrentVersion\, in denen die User-Druckereinstellungen gespeichert sind, sahen jedoch in einem Vorher-Nachher-Vergleich vollkommen identisch aus.

Jedoch fiel auf, dass zum Teil seit mehreren Jahren außer Betrieb genommene Drucker laut Registry immer noch verbunden sein sollten.

Die manuelle Bereinigung durch Löschung aller Einträge unterhalb der folgenden Schlüssel (falls vorhanden) brachte schließlich den Erfolg:

– HKCU\Printers\Connections
– HKCU\Printers\DevModes2
– HKCU\Printers\DevModePerUser
– HKCU\Printers\Settings

– HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Devices
– HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PrinterPorts
– HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
– HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\Devices

Anschließend musste eine noch eine Abmeldung des Users vom Terminalserver erfolgen.
Nach erneuter Anmeldung war nun kein freigegebener Drucker mehr installiert, da alle korrekt aus der Registry gelöscht worden waren.
Zuletzt konnten die freigegebeben Drucker erneut installiert und dieses Mal auch nach Ab- und Wiederanmeldung des Benutzers genutzt werden. Hurra.