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

Printed on: May 9, 2024 at 09:05 o'clock

Member: Dani
Dani Aug 02, 2013 updated at 08:12:11 (UTC)
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
Member: DerWoWusste
DerWoWusste Aug 02, 2013 at 08:54:30 (UTC)
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.
Member: colinardo
colinardo Aug 02, 2013 at 09:06:10 (UTC)
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 Aug 03, 2013 updated at 06:31:40 (UTC)
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 Aug 03, 2013 updated at 06:32:00 (UTC)
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 Aug 08, 2013 at 12:39:18 (UTC)
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