Active Directory (AD) Management kann eine wesentliche Aufgabe für IT-Experten in Organisationen sein. Viele Prozesse wie Benutzerverwaltung, Durchsetzung von Sicherheitsrichtlinien und Systemintegration erfordern den effektiven Einsatz von AD.
In diesem Artikel werde ich über „ADConvertUserNametoUpper“ sprechen, ein PowerShell-Skript, das die Vor- und Nachnamen von AD-Benutzern automatisch in Großbuchstaben umwandelt und mögliche Nullwerte meldet.
Active Directory-Benutzername zum oberen Zweck
ADConvertUserNametoUpper, Benutzer in AD GivenName
(Name) und Surname
Beim Konvertieren von (Nachnamen-)Feldern in Großbuchstaben wird geprüft, ob eines dieser Felder leer ist, und diese Situationen werden gemeldet.
- Großschreibungsumrechnung: Es wandelt die Vor- und Nachnamen der Benutzer in Großbuchstaben um und berücksichtigt dabei die Unterstützung türkischer Zeichen.
- Nullprüfung: Es erkennt Benutzer, deren Vor- oder Nachnamenfelder leer sind, und meldet diese Informationen mit roten Warnmeldungen.
- Das Skript kann innerhalb einer bestimmten Organisationseinheit (OU) oder im gesamten Verzeichnis ausgeführt werden.
Das Skript listet die Benutzer innerhalb der angegebenen Organisationseinheit mithilfe des Active Directory-Moduls auf. Für jeden BenutzerGivenName
veSurname
Felder werden überprüft. Wenn eines dieser Felder null ist, werden der Benutzername und die leere Domäne in der Konsole mit einer roten Warnmeldung angezeigt. Nicht-Null-Felder werden in Großbuchstaben umgewandelt und in AD aktualisiert.
Active Directory-Benutzernamen in Obernamen umwandeln
Ich habe es für meine eigenen Bedürfnisse entwickelt. Active Directory-Benutzernamen in Obernamen umwandeln Sie können über Github oder über den Codeblock unten auf das Skript zugreifen.
<#
.SYNOPSIS
Converts all user first names and last names in a specified OU to uppercase, checks for null values, and reports them.
.DESCRIPTION
This script is designed to traverse a specified Organizational Unit (OU) in Active Directory and update all user first and last names to uppercase. It checks for null values in the GivenName and Surname fields, reports these entries, and updates the fields if they are not null. The script uses Turkish culture settings for correct uppercase conversion.
.PARAMETER ouPath
Specifies the LDAP path of the Organizational Unit where the user accounts are located.
.EXAMPLE
PS> .ADConvertUserNametoUpper.ps1 -ouPath "OU=Users,DC=example,DC=com"
.NOTES
Author: Cengiz YILMAZ
Title: Microsoft MVP - MCT
Created on: [5/9/2024]
Blog: https://cengizyilmaz.net
Version: 1.0
.COMPONENT
Requires ActiveDirectory module.
#>
# OU Path
$ouPath = "OU=fixcloud-test.com,OU=HC-Systems,DC=fixcloud,DC=com,DC=tr"
# Retrieve all users in the OU
$users = Get-ADUser -Filter * -SearchBase $ouPath -Property GivenName, Surname, SamAccountName
# Set the Turkish culture settings
$culture = [System.Globalization.CultureInfo]::CreateSpecificCulture("tr-TR")
# Convert and update each user's first and last name according to Turkish characters
foreach ($user in $users) {
$updateNeeded = $false
# Check GivenName
if ($user.GivenName -ne $null) {
$newGivenName = $user.GivenName.ToUpper($culture)
Set-ADUser -Identity $user.SamAccountName -GivenName $newGivenName
} else {
Write-Host "GivenName değeri boş: Kullanıcı - $($user.SamAccountName)" -ForegroundColor Red
$updateNeeded = $true
}
# Check Surname
if ($user.Surname -ne $null) {
$newSurname = $user.Surname.ToUpper($culture)
Set-ADUser -Identity $user.SamAccountName -Surname $newSurname
} else {
Write-Host "Surname değeri boş: Kullanıcı - $($user.SamAccountName)" -ForegroundColor Red
$updateNeeded = $true
}
# If no update was made, report that no update was done for the user
if (-not $updateNeeded) {
Write-Host "Kullanıcı güncellendi: $($user.SamAccountName)" -ForegroundColor Green
}
}
Wird in Ihrer Active Directory-Umgebung der Fehler „Sicherheitsdatenbank auf dem Server verfügt über kein Computerkonto“ angezeigt? Die Lösung finden Sie im folgenden Artikel.