Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Auslesen des Passwortablaufdatums und Mailbenachrichtigung

Frage Entwicklung Batch & Shell

Mitglied: edvhammel

edvhammel (Level 1) - Jetzt verbinden

08.11.2012, aktualisiert 20.02.2014, 4362 Aufrufe, 2 Kommentare

Hi Admin-Gemeinde,

wir haben aktuell umgestellt auf DC Windows 2008 R2 und als Client Win7 64 bit.
Per GPO bekommen die User 7 Tage vor Ablauf Ihres Kennworts den Ballon eingeblendet, dass Ihr Passwort abläuft.
Leider sehen bzw. übersehen unsere Benutzer diesen Hinweis.

Nun hab ich mir gedacht es muss doch möglich sein, das expire Date des AD Passwort auszulesen und dann den AD Benutzern eine Mail zu schicken mit dem Hinweis: "Ihr Passwort läuft in X Tagen ab!"

Ich hab auch schon mal gegoogelt und bin auf folgendes Skript gestossen:
01.
  
02.
############################################################################### 
03.
 
04.
function write-Eventlog([string]$uname) 
05.
06.
 
07.
  $text = "Das Kennwort für den Benutzer " + $uname + " wurde zur Änderung aktiviert." 
08.
 
09.
  $Eventlog = new-object System.Diagnostics.EventLog('Application') 
10.
  $Eventlog.MachineName = "." 
11.
  $Eventlog.Source = "Kennwort-Manager" 
12.
  $Eventlog.WriteEntry($text) 
13.
 
14.
15.
 
16.
function send-EMail([string]$uname, [string]$email, [int]$number) 
17.
18.
  #Mailserver   
19.
  $server = "192.168.1.20" 
20.
  $from = " kennwort@hier.local" 
21.
  $subject = "Ihr Domainen-Kennwort läuft demnächst ab!" 
22.
  $template = "C:\powershell\password.html" 
23.
 
24.
  $body = get-Content $template 
25.
  $replace=[regex]"#TAGE#" 
26.
  $body = $replace.Replace($body,$number,1) 
27.
  $replace=[regex]"#NAME#" 
28.
  $body = $replace.Replace($body,$uname,1) 
29.
 
30.
  [System.Net.Mail.MailMessage]$message = New-Object System.Net.Mail.MailMessage($from, $email, $subject, $body) 
31.
  $message.IsBodyHTML = $true 
32.
 
33.
  if ($number -eq 1) {$message.Priority ="High"} 
34.
 
35.
  [System.Net.Mail.SmtpClient]$smtpclient = New-Object System.Net.Mail.SmtpClient($server) 
36.
  $smtpclient.Send($message) 
37.
 
38.
39.
 
40.
### Begin Main 
41.
 
42.
$days = "7" 
43.
$container = "OU=Benutzer,DC=hier,DC=local" 
44.
$query = "(&(objectclass=user)(useraccountcontrol=512))" 
45.
 
46.
for ($day = 0; $day -le $days; $day++) 
47.
48.
 
49.
   $user ="" 
50.
   $users = Get-ADUser -LdapFilter $query -SearchBase $container -SearchScope:Subtree | Where {$_.PasswordExpires.Date -eq ([datetime]::Now.Date.AddDays($day))} 
51.
 
52.
    foreach ($user in $users) 
53.
54.
       if ($user -ne $null) 
55.
56.
         
57.
           if ($day -eq 0) 
58.
59.
             write-Eventlog $user.Name 
60.
             set-aduser -identity $user.NTAccountName -UserMustChangePassword $true 
61.
62.
           else 
63.
64.
             send-EMail $user.Name $user.EMail $day 
65.
66.
67.
68.
69.
 
70.
### End Main 
Leider bin ich aber noch Powershell Neuling und bekomme es nicht hin, das Ganze zu testen bzw. erfolgreich auszuführen. Vielleicht könnt Ihr mir ja weiterhelfen.

Danke!
Mitglied: DerWoWusste
LÖSUNG 09.11.2012, aktualisiert 20.02.2014
Moin.

Ich hab Dein Skript gegoogelt und gesehen, dass Du es einfach nicht komplett wiedergibst ;) siehe http://www.msisafaq.de/anleitungen/Verschiedenes/VistaPwd.htm
Du unterschlägst den Autor und dessen Kommentar:

Für den Betrieb dieses Skripts sind die Powershell und die PowerShell Commands for Active
Directory von Quest erforderlich. Die Powershell Commands können Sie unter der URL
http://www.quest.com/powershell/activeroles-server.aspx herunter laden.

Hattest Du die runtergeladen und eingebunden?
Wenn's nicht will, schau mal hier: http://www.administrator.de/forum/user-%C3%BCbersehen-in-windows-7-st%C ...
Bitte warten ..
Mitglied: edvhammel
29.11.2012 um 13:29 Uhr
Da hab ich wohl was übersehen. Skript ist nicht von mir, habe ich aber auch nie behauptet. Danke für die Hilfe
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Sticky Notes - Autostart unterbinden

Tipp von Pedant zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Netzwerk
gelöst Powershell skript zum Auslesen der im AD angemeldeten User (2)

Frage von jan.kleinel zum Thema Windows Netzwerk ...

Grafikkarten & Monitore
Matrox Grafikkarte Betriebszeit auslesen (5)

Frage von blade999 zum Thema Grafikkarten & Monitore ...

Batch & Shell
gelöst Bestimmte Zeile einer Textdatei mit Batch auslesen (2)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Microsoft Office
gelöst Inhalte vieler excel dateien auslesen und als Liste wiedergeben (13)

Frage von tw3aker zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Flatrates
DeutschlandLAN der Telekom - welche internen IPs? (19)

Frage von qualidat zum Thema Flatrates ...

Linux
gelöst Schmaler Scrollbalken in Python-Anwendung (14)

Frage von indi955 zum Thema Linux ...