рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕
рдкреВрд░реА рдХрд╣рд╛рдиреА рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдИ рдХрд┐ рдЕрдЧрд▓реЗ рдЖрдИрдЯреА рдСрдбрд┐рдЯ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред рдкреНрд░рд╛рдЗрд╕ рд╡рд╛рдЯрд░рд╣рд╛рдЙрд╕ рдХреВрдкрд░реНрд╕ рд╕реЗ рдЧрдВрднреАрд░ рдЪрд╛рдЪрд╛ рдЖрдП рдФрд░ рд╣рдореЗрдВ рдХрдИ рдирд┐рд░реНрджреЗрд╢ рджрд┐рдП рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рдЙрдиреНрд╣реЗрдВ рд▓реЙрдЧ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЛрдореЗрди рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рдЪрд▓рдирд╛ рдкрдбрд╝рд╛ред рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдЧреНрд░рдВрдереЛрдВ рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж (рдФрд░ рдЖрдк рдХрднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдХреНрдпрд╛, рд╕реБрд░рдХреНрд╖рд╛ рд╕рднреА рд╕реЗ рдКрдкрд░ рд╣реИ), рдЙрдиреНрд╣реЗрдВ рд▓реЙрдЧ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдереЗред рдФрд░ рдлрд┐рд░ рдпрд╣ рд╢реБрд░реВ рд╣реБрдЖред
рдкреАрдбрдмреНрд▓реНрдпреВрд╕реА рдХреЛ рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐рдпреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдкреЙрд▓рд┐рд╕реА рдФрд░ рдкрд╕рд╡рд░реНрдб рд▓рд╛рдЗрдлрдЯрд╛рдЗрдо рдкреЗрд╢ рдХрд░рдирд╛ рдерд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХрд╛рдлреА рдЖрд╕рд╛рди рдерд╛, рд▓реЗрдХрд┐рди рдЬрд▓реНрдж рд╣реА рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛: рд╡рд┐рдВрдбреЛрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдкрдиреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рд╕рдорд╛рдкреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдХрдиреЗрдХреНрд╢рди рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рд╡реАрдкреАрдПрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХрд╛рдлреА рдЧрдВрднреАрд░ рд╣реЛ рдЧрдИ рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдФрд░ рдРрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЦрд╛рддреЗ рдХреЛ рдЕрдирд▓реЙрдХ рдХрд░рдирд╛ рдЕрдм рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛ред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдерд╛ рдХрд┐ рд▓реИрдкрдЯреЙрдк рдореВрд▓ рдХрд╛рд░реНрдпрд╛рд▓рдп рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╣реЛред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдирдиреНрдд рд╡реНрдпрд╛рдкрд╛рд░ рдпрд╛рддреНрд░рд╛рдУрдВ рдкрд░ "рд▓рд╛рдЗрд╡" рд╣реИрдВ, рд╕рдорд╕реНрдпрд╛ рдмрд╣реБрдд рдЧрдВрднреАрд░ рд╣реЛ рдЧрдИред рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрди рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдирд╛ рдЕрднреА рднреА рд╕рд┐рд░рджрд░реНрдж рд╣реИ, рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдореЗрдВ рдирд╣реАрдВред рдпрд╣рд╛рдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реВрдЪрдирд╛рдУрдВ рдХреЗ рд╡рд┐рддрд░рдг рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рдЙрддреНрдкрдиреНрди рд╣реБрдЖред рдереЛрдбрд╝реЗ рд╕рдордп рдХреА рдЦреЛрдЬ рдХреЗ рдмрд╛рдж, рдПрдХ рдЕрдЪреНрдЫреА
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдорд┐рд▓реА рдЬреЛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреА рдереАред рдореБрдЭреЗ рдЗрд╕реЗ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрдирд╛ рдерд╛ред
рдЪреВрдБрдХрд┐ рдпрд╣ рдкреЙрд╡рд░рд╢реЗрд▓ рдХреЗ рддрд╣рдд рдПрдХ рдкрдЯрдХрдерд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдЕрдиреБрднрд╡ рдерд╛, рдмрд╣реБрдд рд╕рдордп рд╡реНрдпрддреАрдд рд╣реБрдЖ (рд▓рдЧрднрдЧ рдкреВрд░рд╛ рджрд┐рди)ред
рд▓рд┐рдкрд┐
рдФрд░ рдпрд╣рд╛рдБ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓рд╛:
Import-Module ActiveDirectory #System globalization #$ci = New-Object System.Globalization.CultureInfo() #SMTP server name $smtpServer = #Creating a Mail object $msg = new-object Net.Mail.MailMessage #Creating a Mail object for report $msgr = new-object Net.Mail.MailMessage #Creating SMTP server object $smtp = new-object Net.Mail.SmtpClient($smtpServer) #E-mail structure Function EmailStructure($to,$expiryDate,$upn) { $msg.IsBodyHtml = $true $msg.From = $msg.To.Clear() $msg.To.Add($to) $msg.Subject = $msg.Body =</pre><code> </code><pre> } Function EmailStructureReport($to) { $msgr.IsBodyHtml = $true $msgr.From = $msgr.To.Add($to) $msgr.Subject = $msgr.Body = </pre><code></code><pre> } #Set the target OU that will be searched for user accounts $OU = </pre><code>$ADAccounts = Get-ADUser -LDAPFilter -searchbase $OU -properties PasswordExpired, extensionAttribute15, PasswordNeverExpires, PasswordLastSet, Mail, Enabled | Where-object {$_.Enabled -eq $true -and $_.PasswordNeverExpires -eq $false}</code><pre> $NotificationCounter = 0 $ListOfAccounts = Foreach ($ADAccount in $ADAccounts) { $accountFGPP = Get-ADUserResultantPasswordPolicy $ADAccount if ($accountFGPP -ne $null) { $maxPasswordAgeTimeSpan = $accountFGPP.MaxPasswordAge } else { $maxPasswordAgeTimeSpan</pre><code> = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge</code><pre> } #Fill in the user variables $samAccountName = $ADAccount.samAccountName $userEmailAddress = $ADAccount.ExtensionAttribute15 $userPrincipalName = $ADAccount.UserPrincipalName if ($ADAccount.PasswordExpired) { Write-host } else { $ExpiryDate = $ADAccount.PasswordLastSet + $maxPasswordAgeTimeSpan $TodaysDate = Get-Date $DaysToExpire = $ExpiryDate - $TodaysDate #Calculating DaysToExpireDD to DD format (w/o fractional part and dot) $DaysToExpireDD = $DaysToExpire.ToString() -Split () Write-host </pre><code></code><pre> if (($DaysToExpire.Days -eq 15) -or </pre><code>($DaysToExpire.Days -eq 7) -or ($DaysToExpire.Days -le 3))</code><pre> { $expiryDate = $expiryDate.ToString(,$ci) #Generate e-mail structure and send message if ($userEmailAddress) { EmailStructure $userEmailAddress $expiryDate $samAccountName $smtp.Send($msg) Write-Host </pre><code></code><pre> $NotificationCounter = $NotificationCounter + 1 $ListOfAccounts = </pre><code>$ListOfAccounts + $samAccountName + </code><pre> } } } } Write-Host EmailStructureReport() $smtp.Send($msgr)
рдЗрд╕реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .ps1 рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред
рд▓реЙрдиреНрдЪ рдХрдорд╛рдВрдб
рдЕрдЧрд▓рд╛ - рдПрдХреНрд╕рдЯреЗрдВрд╢рди .cmd рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдФрд░ рдЙрд╕рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЙрдиреНрдЪ рдкреИрд░рд╛рдореАрдЯрд░ рд▓рд┐рдЦреЗрдВред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
powershell D:\ExchangeTools\pwde.ps1
рджреЛрдиреЛрдВ рдлрд╛рдЗрд▓реЗрдВ рдореЗрд░реЗ рдореЗрд▓ рд╕рд░реНрд╡рд░ рдкрд░ рд╣реИрдВред рдЖрдк рдЕрдкрдирд╛ рд╡рд┐рдХрд▓реНрдк рдЖрдЬрдорд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рдЯрд╛рдЗрдорд▓рд╛рдЗрди рдмрдирд╛рдПрдВ
рдЕрдЧрд▓рд╛, рд╣рдо .cmd рдлрд╝рд╛рдЗрд▓ рдХреЗ рджреИрдирд┐рдХ рд▓реЙрдиреНрдЪ рдХреЛ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдЗрд╕реЗ рд╣рд░ рджрд┐рди рд╕реБрдмрд╣ 11 рдмрдЬреЗ рдЪрд▓рд╛рддрд╛ рд╣реВрдВред
рдкреНрд░рд╛рд░рдВрдн> рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд░рдо> рдПрд╕реЗрд╕рд░реАрдЬрд╝> рд╕рд┐рд╕реНрдЯрдо рдЯреВрд▓> рдХрд╛рд░реНрдп рдЕрдиреБрд╕реВрдЪрдХред
рдХреНрд░рд┐рдпрд╛> рдирдпрд╛ рдХрд╛рд░реНрдп рдмрдирд╛рдПрдБ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рд╕рд╛рдорд╛рдиреНрдп рдЯреИрдм рдкрд░, "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрджрд▓реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдпрд╣ рд╕рдм рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ AD рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЙрдЧ рдСрди рд╣реИ рдпрд╛ рдирд╣реАрдВ" рд╕реЗрдЯ рдХрд░реЗрдВ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд▓реЙрдЧ рдЗрди рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдЪрд▓рд╛рдПрдВ)ред рдХрд╛рд░реНрдп рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╕рдордп, рд╕рд┐рд╕реНрдЯрдо рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдЧрд╛ред
рдЕрдЧрд▓рд╛ рдЯреНрд░рд┐рдЧрд░ рдЯреИрдм рд╣реИред рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ - рд▓реЙрдиреНрдЪ рд╕рдордп рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред
рдХреНрд░рд┐рдпрд╛рдПрдБ рдЯреИрдм, "рдирдпрд╛" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, "рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░реЗрдВ" рдЪреБрдиреЗрдВ рдФрд░ рд╣рдорд╛рд░реЗ .cmd рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдЕрдВрддрд┐рдо рджреЛ рдЯреИрдм рдХреЛ рдирд╣реАрдВ рдЫреБрдЖ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдмрджрд▓рд╛рд╡ рджреЗрдЦреЗрдВ рдЬреИрд╕реЗ рдХрд┐ рдЖрдк рдлрд┐рдЯ рджрд┐рдЦрддреЗ рд╣реИрдВред
рд╕реВрдЪрдирд╛рдПрдВ 15, 7 рдФрд░ 3 рджрд┐рди рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рднреЗрдЬреА рдЬрд╛рддреА рд╣реИрдВред
рдЪреЗрддрд╛рд╡рдиреАрдПрдХреНрд╕рдЪреЗрдВрдЬ рд╕рд░реНрд╡рд░ рдХреЛ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдкрддрд╛ рд░рд┐рд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЗрд╕реЗ рдбреЛрдореЗрди рдХреЗ рдмрд╛рд╣рд░ рдХреЗ рдкрддреЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрддреЗ рдкрд░ рджреЛрд╣рд░рд╛рд╡) рдХреЗ рд▓рд┐рдП рднреЗрдЬрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред
рдХреБрдЫ рд▓реЛрдЧ рд╢рд╛рдпрдж рдкреВрдЫреЗрдВрдЧреЗ - "рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдИ-рдореЗрд▓ рд╡рд╛рд▓реЗ рдорд╛рдирдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреЛрдИ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрд╝реАрд▓реНрдб рд╣реИ рддреЛ рдЙрд╕рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдкрддрд╛ рдХреНрдпреЛрдВ рд▓реЗрдВ?" рдЙрддреНрддрд░ рд╕рд░рд▓ рд╣реИ - рдкреНрд░рддреНрдпреЗрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдЖрдИрдЯреА рд╡рд┐рднрд╛рдЧ рдХреЛ рднреА рднреЗрдЬреА рдЬрд╛рддреА рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдкрддреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рд╕рд┐рд╕реНрдЯрдо рдЦрд╛рддреЛрдВ рдореЗрдВ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдореЗрд▓рдмреЙрдХреНрд╕ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реНрд╡рдпрдВ рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрдк рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдбреЛрдореЗрди рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЯреНрд░реА рдкрд░ рдЬрд╛рдХрд░ ExtensionAttribute15 рдореЗрдВ рдкрддреЗ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЦрд╛рддреЗ рдХреЗ рдЧреБрдгреЛрдВ рдореЗрдВ рдЯреИрдм "рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕рдВрдкрд╛рджрдХ" рд╣реЛрдЧрд╛ред рдпрджрд┐ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдХрдИ рдкрддреЗ рд╣реЛрдВрдЧреЗ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред