Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 4870 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 ..
Ähnliche Inhalte
Monitoring
Problem mit Mailbenachrichtigung im Icinga2

Frage von xXEddiXx zum Thema Monitoring ...

Microsoft Office
Adressen aus Hyperlinks auslesen (3)

Frage von kluthi69 zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel VBA Datein auslesen (8)

Frage von schwalbepilot zum Thema Microsoft Office ...

Batch & Shell
gelöst Dateinamen auslesen und in einer Schleife benutzen (12)

Frage von TeholBeddict zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Batch & Shell
Batch Programm verhalten bei shoutdown -p (18)

Frage von Michael-ITler zum Thema Batch & Shell ...

Router & Routing
Freigabe aus anderem Netz nicht erreichbar (15)

Frage von McLion zum Thema Router & Routing ...

Festplatten, SSD, Raid
Raidcontroller funktioniert nur, wenn unter Legacy-Boot gestartet wird (13)

Frage von DerWoWusste zum Thema Festplatten, SSD, Raid ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...