45455
Goto Top

Useraccount gültig ab?

Hallo,

die Möglichkeit, Useraccounts ablaufen zu lassen, kenne und nutze ich schon länger.
Da ich bei einem Kunden aber viele Kurzzeitanstellungen habe (Praktikanten uä.), such ich immer noch nach einer Möglichkeit, Useraccounts komplett mit einer von bis-Gültigkeit zu versehen.
Denn gerade mit den allseits bekannten Erst-Passwörtern hab ich etwas Bauchweh, die Accounts zugänglich längere Zeit stehen zu lassen. Aber kurz vor knapp will ich die Accounts natürlich auch nicht erstellen, sonst geht das gerne unter.

Von Haus aus geht sowas ja nicht (W2K8R2+Exch2010).

Ich würde mir nun Tasks machen, die die zunächst deaktivierten User per PS-Skript zu einem bestimmten Zeitpunkt aktivieren, was aber IMHO nicht so übersichtlich und praktisch ist.

Hat da jemand eine praktikablere Lösung am Laufen?

Gruß
Kai

Content-Key: 213194

Url: https://administrator.de/contentid/213194

Ausgedruckt am: 29.03.2024 um 11:03 Uhr

Mitglied: Dani
Dani 02.08.2013 aktualisiert um 10:12:11 Uhr
Goto Top
Moin,
wir haben ein Powershell-Template, wo der Username eine Übergabeparameter ist und per Aufgabenplanung wird es aktiviert. Funktioniert ganz gut, das Script ändert sich nie und wir sehen auf einen Blick wann welcher User aktiviert wird. Alle 3 Monate wedern die alten Jobs einfach kurz gelöscht. Das kann so gar unser Praktikant machen... face-smile Von wie vielen Accounts im Jahr reden wir denn?


Grüße,
Dani
Mitglied: DerWoWusste
DerWoWusste 02.08.2013 um 10:54:30 Uhr
Goto Top
Hi.

Kenne auch keinen besseren Weg als über den Scheduler.
Schlage vor, eben nicht allgemein bekannte Kennwörter zu verwenden und somit die Bauchschmerzen zu vergessen.
Mitglied: colinardo
colinardo 02.08.2013 um 11:06:10 Uhr
Goto Top
Hallo Kai,
könnte man z.B. so realisieren:
Ein Powershellscript das jeden Tag einmal läuft z.B. um 01:00 Uhr und aus einer Textdatei die so formatiert ist:
02.08.2013;hmusterfrau
08.08.2013;mmustermann
10.11.2013;Azubi10
das Aktivierungsdatum und den jeweiligen Usernamen ausliest, bei Übereinstimmung des Datums mit dem aktuellen Datum den dazugehörigen User aktiviert, und diesen dann aus dieser Textdatei entfernt.

Hier das Beispiel-Script dafür:
$strFILE = "E:\Tempfolder\Scripte\users.txt"  
$txtUsers = Get-Content $strFILE
$newFileContent = ""  
foreach ($user in $txtUsers){
    $dateUserActivate = $user.Split(";")  
    $username = $user.Split(";")[1]  
    $dateToday = (get-date).ToShortDateString()
    if ($dateToday -eq $dateUserActivate){
        echo "$username wird heute aktivert."  
        Set-ADUser -Identity $username -Enabled $true
    } else {
        $newFileContent += "$user`n`r"  
    }
}
set-content $strFILE -Value $newFileContent

Grüße Uwe
Mitglied: 45455
45455 03.08.2013 aktualisiert um 08:31:40 Uhr
Goto Top
@DerWoWusste

Geht zwar, verschiebt das Ganze aber nur, da ich dann die Passwörter in Briefchen unterbringen muss, die der zukünftige User bekommt.
Die Briefchen liegen dann wochenlang irgendwo rum, weil ich sicher keine Lust hab, die höchstpersönlich zuzustellen.
Also auch mit für andere nicht zu erratendem Start-Passwort wär mir wohler, der Account würde einfach nicht funktionieren vor Eintritt des Mitarbeiters.

Aber grundsätzlich bringt mich das auf die Idee, das Ganze mit grundlegenden Datenschutzinformationen zu verbinden, die in dem Büro eh noch fehlen bzw. irgendwo recht versteckt beschrieben sind.

Gruß
kai
Mitglied: 45455
45455 03.08.2013 aktualisiert um 08:32:00 Uhr
Goto Top
Hallo Uwe,

super Idee.
Ich hätte jetzt die einzelnen ser jeweils mit einem Skript eingebaut, aber über eine Textdatei ist das natürlich super einfach.

Danke, das werd ich Anfang der Woche gleich mal ausprobieren.

Gruß
Kai
Mitglied: 45455
45455 08.08.2013 um 14:39:18 Uhr
Goto Top
So, ich hab noch eine Erinnerungsmail eingebaut und funktioniert prima:

# Beispiel für Text Datei
#  Datum     ;Benutzername
#
#  02.08.2013;hmusterfrau 
#  08.08.2013;mmustermann 
#  10.11.2013;Azubi10


$strFILE = "\\meinServer\netlogon\scripts\BenutzerAktivierung.txt"  
$txtUsers = Get-Content $strFILE
$newFileContent = ""  
foreach ($user in $txtUsers){
    $dateUserActivate = $user.Split(";")  
    $username = $user.Split(";")[1]  
    $dateToday = (get-date).ToShortDateString()
    if ($dateToday -eq $dateUserActivate){
        Send-MailMessage -To "mich@meinMailserver.com" -Subject "Konto von $Username wurde heute Aktiviert" -From "mich@meinMailserver.com" -SMTPServer "meinMailserver"   
        Set-ADUser -Identity $username -Enabled $true
    } else {
        $newFileContent += "$user`n`r"  
    }
}
set-content $strFILE -Value $newFileContent

Danke
Kai