Zum Inhalt springen

NerdFs

Mitglieder
  • Gesamte Inhalte

    3
  • Benutzer seit

  • Letzter Besuch

Beiträge von NerdFs

  1. Hier mal mein erster Entwurf dazu. Kann sicher noch einiges ausgebaut werden, aber funktioniert soweit erst einmal. Vielen Dank für die Tipps!

     

    $Changes = Import-Csv -Delimiter "`t" -Path .\veraenderungen.txt | Where-Object {$_.datum -eq "$(Get-Date -UFormat "%d.%m.%Y")"}
    $logfile = ".\log.txt"
    
    Function LogWrite
    {
        Param([string]$logline)
        $logdate = get-date -format "yyyy-MM-dd HH:mm:ss"
        $text = "["+$logdate+"] " + $logline
        $text >> $logfile
    }
    
    ForEach($Change in $Changes){
     
        $username = $Change.Benutzer
        # prüfe ob Benutzer exsistiert
        if(Get-ADUser -Filter {SamAccountName -eq $username})
        {
            switch($Change.Aktion)
            {
                add-group {
                    $group = $Change.Parameter
                    # prüfe ob Gruppe existiert
                    if(Get-ADGroup -Filter {SamAccountName -eq $group}) {
                        Add-ADGroupMember -Identity $group -Members $username
                        LogWrite -logline "Benutzer $username der Gruppe $group hinzugefügt"
                    }
                    else {
                        LogWrite -logline "Gruppe $group wurde nicht gefunden"
                    }
                }
                remove-group {
                    $group = $Change.Parameter
                    if(Get-ADGroup -Filter {SamAccountName -eq $group}) {
                        Remove-ADGroupMember -Identity $group -Members $username -Confirm:$false
                        LogWrite -logline "Benutzer $username aus der Gruppe $group gelöscht"
                    }
                    else {
                        LogWrite -logline "Gruppe $group wurde nicht gefunden"
                    }
                }
            }
        }
        else
        {
            LogWrite -logline "Benutzer $username wurde in der AD nicht gefunden"
        }
    }

     

  2. Danke für die Infos. Mit Powershell beschäftige ich mich schon eine Weile. Allerdings fehlt mir noch eine Anhaltspunkt, wie ich damit eine Art "Stapel" anlege um die Änderungen zeitgesteuert durchzuführen. Die Änderungen in der Domäne durchzuführen via Powershell sind nicht das Problem. Nur habe ich irgendwie an ein einfaches GUI gesucht :) solche Änderungen zu erfassen und dann nachts z.B. zu übertragen. Wollte nicht jedes mal ein Script dafür anlegen bzw. bearbeiten. Aber die Idee mit der Aufgabenplanung ist ganz gut. Danke!

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...