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, 4446 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
Batch & Shell
gelöst Batch: CPU-Auslastung eines Prozesses auslesen und als Variable definieren (3)

Frage von tralveller zum Thema Batch & Shell ...

Batch & Shell
gelöst Auslesen und Vergleichen Zweiter CSV Dateien Powershell (7)

Frage von Hainoon zum Thema Batch & Shell ...

Batch & Shell
gelöst Laufwerkgröße der Clients auslesen (6)

Frage von michi-ffm zum Thema Batch & Shell ...

Batch & Shell
String Zeichenpaare auslesen und bearbeiten (6)

Frage von ahstax zum Thema Batch & Shell ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit Shorewall, ISC-DHCP Server konfigurieren für Android Devices (25)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Hardware
16-20 Port POE Switch mit VLAN (19)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Exchange HyperV Prozessorlast (18)

Frage von theoberlin zum Thema Windows Server ...