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, 4752 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 ...

Visual Studio
gelöst Pastebin auslesen mit Visual Basic? (2)

Frage von UltraZz zum Thema Visual Studio ...

Batch & Shell
gelöst Powershell INI Tags auslesen (2)

Frage von H41mSh1C0R zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(8)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

Information von BassFishFox zum Thema Datenschutz ...

Firewall

PfSense OpenVPN beschleunigen

Tipp von Dobby zum Thema Firewall ...

Utilities

CCleaner 5.33 mit Malware infiziert

(27)

Information von SeaStorm zum Thema Utilities ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (26)

Information von SeaStorm zum Thema Utilities ...

Festplatten, SSD, Raid
gelöst Problem mit DELL 815R Server und Windows Bluescreen (24)

Frage von Leo-le zum Thema Festplatten, SSD, Raid ...

Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (16)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

Windows Netzwerk
Dateien mit Intelligenz per GPO ins Programmverzeichnis (14)

Frage von erwin.t zum Thema Windows Netzwerk ...