Blog

Hier poste ich dinge zu Themen die mich beschäftigten.

Neueste 5 Einträge

  • PHP: sende Mail
  • Powershell: gruppename like finden und aktivierte user zaehlen
  • HW und SW auslesen und exportieren
  • Angeschlossene Monitore auslesen
  • bash: deepL Pro Paket MAC OS

2023-04-15

Powershell - Benutzer anlegen mit bestimmten Standard werten und Gruppen

# Variablen
$TargetOU = “OU=Users,DC=yourdomain,DC=com”
$Groups = “Group1”, “Group2” # Gruppennamen hier angeben
$LogFilePath = “C:NewUserLog.txt”
$AdminEmail = “admin@sgit.space”

# Benutzerinformationen
$Username = “jdoe” # Benutzername angeben
$Password = ConvertTo-SecureString “P@ssw0rd” -AsPlainText -Force # Passwort angeben
$FirstName = “John”
$LastName = “Doe”
$DisplayName = “$FirstName $LastName”
$UserPrincipalName = “$Username@yourdomain.com” # Domain anpassen
$EnabledDate = Get-Date “2023-05-01” # Aktivierungsdatum angeben

# Neuen Benutzer erstellen
$NewUser = New-ADUser -Name $DisplayName -GivenName $FirstName -Surname $LastName -DisplayName $DisplayName -UserPrincipalName $UserPrincipalName -AccountPassword $Password -Path $TargetOU -Enabled $false -PassThru

# Benutzer in Gruppen hinzufügen
foreach ($Group in $Groups) {
    Add-ADGroupMember -Identity $Group -Members $NewUser
}

# Konto zum angegebenen Datum aktivieren
$CurrentDate = Get-Date
if ($CurrentDate -ge $EnabledDate) {
    Enable-ADAccount -Identity $NewUser
    $AccountStatus = “Enabled”
} else {
    $AccountStatus = “Disabled”
}

# Informationen in das Logfile schreiben
$LogData = @”
Neuer Benutzer erstellt:
Benutzername: $Username
Vorname: $FirstName
Nachname: $LastName
Displayname: $DisplayName
UPN: $UserPrincipalName
Gruppenmitgliedschaften: $($Groups -join ‘, ‘)
OU: $TargetOU
Aktivierungsdatum: $($EnabledDate.ToString())
Kontostatus: $AccountStatus
`r`n
“@
Add-Content -Path $LogFilePath -Value $LogData

# E-Mail senden
$EmailSubject = “Neuer Benutzer erstellt: $DisplayName”
$EmailBody = @”
Neuer Benutzer wurde erstellt:

Benutzername: $Username
Vorname: $FirstName
Nachname: $LastName
Displayname: $DisplayName
UPN: $UserPrincipalName
Gruppenmitgliedschaften: $($Groups -join ‘, ‘)
OU: $TargetOU
Aktivierungsdatum: $($EnabledDate.ToString())
Kontostatus: $AccountStatus
“@

$SMTPServer = “smtp.yourdomain.com” # SMTP-Server angeben
$FromEmail = “noreply@yourdomain.com” # Absenderadresse angeben

Send-MailMessage -SmtpServer $SMTPServer -From $FromEmail -To $AdminEmail -Subject $EmailSubject -Body $EmailBody

In diesem Skript werden die folgenden Schritte ausgeführt:

Erstellen eines neuen Benutzerkontos mit den angegebenen Standardwerten.
Hinzufügen des Benutzerkontos zu den angegebenen Gruppen.
Verschieben des Benutzerkontos in die angegebene Organizational Unit (OU).
Aktivieren des Benutzerkontos zum angegebenen Datum (wenn das Aktivierungsdatum in der Vergangenheit liegt, wird das Konto sofort aktiviert).
Schreiben der Ergebnisse in das angegebene Logfile.
Senden einer E-Mail an den Administrator mit den Benutzerdetails.
Vergessen Sie nicht, die erforderlichen Informationen wie Gruppennamen, Benutzerdaten, Aktivierungsdatum, SMTP-Server und E-Mail-Adressen anzupassen. Stellen Sie sicher, dass die verwendeten E-Mail-Adressen und der SMTP-Server korrekt konfiguriert sind, um E-Mails senden zu können.

Admin - 10:51:15 @ Projekte, Powershell-Skripte | Kommentar hinzufügen