Es gibt ein PowerShell-Skript von Microsoft, um benutzerdefinierte Schemaerweiterungen zu erkennen:
Autor: PKloep
MCSM Zertifikat
Die MCSM Directory-Zertifikate sind nun auch als Download verfügbar:
Mit dem ActiveDirectory-Modul kann man nun die Gruppenmitglieder einer Gruppe rekursiv auflisten:
if (-not(Get-Module-NameActiveDirectory)) {import-moduleActiveDirectory}
Get-ADGroupMember-IdentityGruppe-Recursive|ftname,sid-AutoSize
Formatieren von Strings
Mit der Substring-Option kann man Strings bearbeiten, um zum Beispiel von einem Dateinamen die Erweiterung abzuschneiden:
$Server ist mit dem Wert: RootDC01.log definiert. Durch das folgende Snippet wird die Erweiterung .log abgeschnitten. Substring besteht aus Startzeichen, Endzeichen und Anzahl der abzuschneidenden Zeichen (-4)
$server.Substring(0,$server.Length –4)
Prüfen, ob ein Ordner existiert
Mit folgendem Code-Snippet wird geprüft, ob ein Ordner existiert. Ist der Ordner nicht vorhanden, wird er erstellt. Existiert der Ordner „ausgabe“ nicht im aktuellen Ordern, wird er angelegt.
if ((Test-Path .\ausgabe) -ne $True) {New-Item .\ausgabe -type directory}
Hier eine „kurze“ Beschreibung zur Installation von mehreren Domänen (2 DC + Windows 7 Client) unter Hyper-V. Da die Maschinen per RDP von außen erreichbar sein sollen, können die virtuellen Maschinen nicht einfach kopiert werden.
Schritt 1: Vorbereiten der Images:
Schritt 2: Erstellen der Antwortdatei
Schritt 3: Sysprep
Schritt 4: Erstellen der VMs / Konfiguration der VMs
Schritt 5: Festlegen der IP-Adressen
Schritt 6: DCpromo
Installationsvideos für eine 3-stufige PKI
Ich habe mal eine Beispielinstallation einer 3-stufigen PKI installiert:
– Root CA (offline)
– Policy CA (offline)
– Enterprise CA (online)
– Sperrlisten auf IIS
Tools / Links rund um CAs
Mit folgendem Powershell-Skript – das per Taskplaner gestartet werden kann, werden Dateien in einem Ordner gelöscht, die älter als 10 Stunden sind:
$now = get-date
cd ‚<Ordner>‚
get-childitem * |
where-object {$_.LastWriteTime -le $now.AddHours(-10)} |
remove-item
Computer in OS-Gruppen aufnehmen
Mit folgendem kleinen PowerShell-Skript kann man Computerkonten basierend auf dem Betriebssystem (Informationen im AD) in verschiedene Gruppen stecken:
import-module ActiveDirectory
$WinXP = „WinXP-Computer“
$Win7 = „Win7-Computer“
#Empty Groups
Get-ADGroupMember -Identity $Win7 | Remove-ADPrincipalGroupMembership -memberof $Win7 -Confirm:$false
Get-ADGroupMember -Identity $WinXP | Remove-ADPrincipalGroupMembership -memberof $WinXP -Confirm:$false
#Add Win7-Computer
$Win7Computers = get-adcomputer -filter {OperatingSystem -Like „Windows 7*“}
foreach ($Computer in $Win7Computers)
{
Add-ADGroupMember -Identity $Win7 -member $Computer
}
#Add WinXP-Computer
$WinXPComputers = get-adcomputer -filter {OperatingSystem -Like „Windows XP*“}
foreach ($Computer in $WinXPComputers)
{
Add-ADGroupMember -Identity $WinXP -member $Computer
}
In dem Skript werden die beiden Gruppen zuerst geleert und anschließend die Konten (XP oder Windows7) hinzugefügt. Die Suche erfolgt über die komplette Domäne. Die Abfrage kann wahlweise auch auf eine einzelne OU angewendet werden.