In gewissen Fällen möchte man aus einer Task-Sequenz heraus eine Statusmail verschicken, hierbei führen wie gewohnt viele Wege zum Ziel. Ein einfacher Weg ist hierbei natürlich PowerShell. Um den nötigen Customizing-Aufwand zu minimieren, habe ich ein Script geschrieben, welches den Computernamen, den Status des letzten Task-Sequenz-Schrittes und den Namen des aktuellen Schrittes automatisch abruft. Möchte […]
Schon zum dritten Mal veranstaltet die Powershell Usergroup Hannover jetzt den Powershell Saturday Hannover. Neben der inzwischen obligatorischen Einführung in Powershell haben wir wieder viele tolle Sprecher für die Veranstaltung eingeladen: Dr. Tobias Weltner Jan-Hendrik Damasche Christoph Burmeister Andreas Nick und Patrick Horn Friedrich Weinmann Martin Gudel Der Powershell Saturday ist kostenlos und bietet für […]
Bei einem aktuellen Projekt benötigte ich die Möglichkeit, mehrere Werte aus einer XML-Datei mit einem ebenfalls darin definierten Logikoperator zu vergleichen. Das Szenario dazu: In dem Projekt ist eine leichtgewichtige Softwareverteilung auf Skriptbasis im Einsatz, die beim Systemstart verschiedene Applikationen aktualisiert. Hier war noch etwas mehr Logik erwünscht, um Aktivitäten nur dann auszuführen, wenn bestimmte […]
Bei der Delegation von FullAccess-Berechtigungen auf einer Mailbox oder einer Shared Mailbox ist dem einen oder anderen sicher bereits aufgefallen, dass sich das Automapping nicht konsistent verhält. Untersucht man dies genauer, so fällt auf, dass lediglich die beim Erstellen der Mailbox vergebenen Delegationen auch Automapping aktiviert haben, nachträglich hinzugefügte haben dies nicht, zumindest sofern sie […]
Hat man in der heutigen Zeit mit einer Active-Directory-Migration zu tun, so ist meist die eigentliche Migration der Computer und User das kleinste Übel. Durch die Anbindung diverser Systeme muss aber jede Identität eines Users in jedem angebundenen System berücksichtigt werden. Ein sehr gutes Beispiel hierfür ist Office 365, respektive die Azure-Active-Directory-Identität eines Benutzers, an […]
In einem Migrationsprojekt brauchte ich eine Ordnerstruktur mit je mindestens einer Datei, um diverse Dinge zu testen. Die Ordnerstruktur habe ich nach einem Export des Originals nachgebildet. Die ganzen Dateien wollte (und durfte) ich von dort aber nicht mitschleppen. Also behalf ich mir mit folgendem Skript, das je eine Datei pro Ordner erzeugt: $FolderPath = […]
Jeder, der sich schon mal (intensiver) mit der Pflege einer Active-Directory-Domäne auseinandergesetzt hat, kann nicht abstreiten, dass z.B. Computerkonten oft länger als der eigentliche Computer leben. Möchte man dies verhindern, so gibt es viele Wege – einmal sollte dies ein klar definierter Workflow bei der Dekommissionierung eines Computers sein, andererseits ergibt es durchaus Sinn die […]
Möchte man z.B. AD Objekte auf einem Client ohne RSAT (Remote Server Administration Tools) abfragen, so bleibt einem lediglich der Zugriff auf die seit PowerShell v1.0 integrierten bzw. aus dem .NET Framework kommenden „ADSI“- und „ADSISearcher“-Klassen. Da der Umgang mit diesen nicht annährend so komfortable wie die Verwendung der Cmdlets aus dem Active Directory Snapin […]
Seit einigen Versionen erzeugt Client Hyper-V (also die Hyper-V-Variante, die unter Windows 10 läuft) von neu erzeugten VMs automatische Checkpoints (umgangssprachlich auch als “Snapshots” bezeichnet). Das geschieht immer dann, wenn man eine solche VM startet und soll es in Test- und Entwicklungsszenarien ermöglichen, einfach und schnell die betreffende VM auf einen definierten Stand zurückzusetzen. Das […]
Seit vielen Jahren bietet das Standard-AD-Tool “Active Directory-Benutzer und -Computer” eine Option, wichtige Container vor versehentlichem Löschen zu schützen: [“Objekt vor zufälligem Löschen schützen” per Skript setzen | faq-o-matic.net] https://www.faq-o-matic.net/2010/05/21/objekt-vor-zuflligem-lschen-schtzen-per-skript-setzen/ In einem Projekt habe ich festgestellt, dass sich dies nun auch per PowerShell recht simpel erreichen lässt: Get-ADOrganizationalUnit -SearchBase ’name -like OU=MeineOU‘ | Set-ADObject -ProtectedfromaccidentialDeletion […]