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-30

Powershell Script User anlage mit gui

Hier ist das vollständige PowerShell-Skript mit einer GUI zum Erstellen von Benutzern in einer bestimmten Ziel-OU:

“`powershell
# Import necessary modules
Import-Module ActiveDirectory
Add-Type -AssemblyName PresentationFramework

# Create WPF Window
[xml]$xaml = @”
<Window xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”
        xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”
        Title=”Benutzeranlage” Height=”400” Width=”400” ResizeMode=”NoResize”>
    <Grid>
        …
        <Button x:Name=”CreateUserButton” Content=”Benutzer anlegen” HorizontalAlignment=”Left” Margin=”10,290,0,0” VerticalAlignment=”Top” Width=”350” Height=”30”/>
    </Grid>
</Window>
“@

# Load XAML and create variables for the controls
$reader = (New-Object System.Xml.XmlNodeReader $xaml)
$window = [Windows.Markup.XamlReader]::Load($reader)
$controls = $window.FindName -Name * -Force | ?{ $_ -is [System.Windows.Controls.Control] } | %{
    New-Variable -Name $_.Name -Value $_ -Scope 2 -Force
}

# Create the user in the specified OU
function CreateUser {
    $name = $NameBox.Text
    $vorname = $VornameBox.Text
    $username = $UsernameBox.Text
    $stadt = $StadtBox.Text
    $land = $LandBox.Text
    $telefonnummer = $TelefonnummerBox.Text
    $mobilnummer = $MobilnummerBox.Text
    $emailadresse = $EmailadresseBox.Text

    # You need to replace ‘OU=YourOU,DC=domain,DC=com’ with the distinguished name of your target OU
    $ou = “OU=YourOU,DC=domain,DC=com”

    $params = @{
        ‘GivenName’ = $vorname
        ‘Name’ = $name
        ‘SamAccountName’ = $username
        ‘City’ = $stadt
        ‘Country’ = $land
        ‘OfficePhone’ = $telefonnummer
        ‘MobilePhone’ = $mobilnummer
        ‘EmailAddress’ = $emailadresse
        ‘AccountPassword’ = (ConvertTo-SecureString “TempPass123!” -AsPlainText -Force)
        ‘Enabled’ = $true
        ‘Path’ = $ou
    }

    try {
        New-ADUser @params
        [System.Windows.MessageBox]::Show(”Benutzer ‘$username’ wurde erfolgreich erstellt.”)
    } catch {
        [System.Windows.MessageBox]::Show(”Fehler beim Erstellen des Benutzers: $_”)
    }
}

# Assign the function to the button click event
$CreateUserButton.Add_Click({ CreateUser })

# Show the window
$window.ShowDialog() | Out-Null
“`

Bitte ersetzen Sie `’OU=YourOU,DC=domain,DC=com’` durch den Distinguished Name Ihrer Ziel-OU.

Das Skript erstellt Benutzer mit einem temporären Passwort `TempPass123!`. Sie sollten dies ändern, um den Anforderungen Ihrer Organisation zu entsprechen.

Admin - 19:05:59 @ Projekte, Powershell-Skripte | Kommentar hinzufügen

Kommentar hinzufügen

Die Felder Name und Kommentar sind Pflichtfelder.

Um automatisierten Spam zu reduzieren, ist diese Funktion mit einem Captcha geschützt.

Dazu müssen Inhalte des Drittanbieters Google geladen und Cookies gespeichert werden.