J3qx

information archive

change-password-new-logon-1.1.ps1

Posted by j3qx на Ноябрь 1, 2016

change-password-new-logon-1.1.ps1

#Add the Quest PowerShell snapin
Add-PsSnapIn Quest.ActiveRoles.ADManagement -ErrorAction SilentlyContinue
Get-QADUser -SizeLimit 0 -enable | Select-Object samAccountName,mail,PasswordStatus, lastLogonTimeStamp |
#Where-Object {$_.PasswordStatus -ne «Password never expires» -and $_.PasswordStatus -ne «Expired» -and $_.PasswordStatus -ne «User must change password at next logon.» -and $_.mail -ne $null} |
Where-Object {$_.PasswordStatus -eq «User must change password at next logon.» } |
ForEach-Object {
$today = Get-Date
$logdate = Get-Date -format yyyyMMdd
$samaccountname = $_.samAccountName
#$mail = $_.mail
$passwordstatus = $_.PasswordStatus
$lastLogonTimeStamp = $_.lastLogonTimeStamp
#$passwordexpiry = $passwordstatus.Replace(«Expires at: «,»»)
#$passwordexpirydate = Get-Date $passwordexpiry
#$daystoexpiry = ($passwordexpirydate — $today).Days
#$smtpserver = «10.20.20.36»
#$attachment = «C:\script\a1.docx»
#$emailFrom = «noreplay@example.ru»
# $body = «Просьба произвести плановое изменение пароля, он истекает $PasswordStatus, в противном случае вы потеряете доступ к сети example. Пользователи не windows систем, могут изменить пароль, зайдя на терминал pmo-rdc-02v.office.example.ru (IP 10.20.20.98) и нажав alt+ctrl+end, выбрать change password Если вы не можете самостоятельно сменить пароль обратитесь hd@example.ru`n`n»
#$body += «Hello, please change your password, because it`s expired on $PasswordStatus, otherwise — you lose access to the network & services example company. Users have not Windows system (like Mac OS, *nix, and other) can change password by logging to the terminal server — pmo-rdc-02v.office.example.ru (IP 10.20.20.98) On terminal server — press alt+ctrl+end and choose change password »
#$body += «If you unable to change your password, please contact the hd@example.ru »
#кодирование в UTF для поддержки русского текста
#$encoding = [System.Text.Encoding]::UTF8
#определяем за сколько дней предупреждать
if ($daystoexpiry -lt 7 ) {
# $emailTo = «$mail»
# $emailTo = «d.larkin@example.ru»
#$subject = «Your Network password will expire in $daystoexpiry day(s) please change your password.»
# Send-MailMessage -To $emailTo -From $emailFrom -Subject $subject -Body $body -SmtpServer $smtpserver -Encoding $encoding
# Write-Host «Email was sent to $mail on $today»
Add-Content C:\temp\change-password-new-logon$logdate.txt «Email was sent to Name:$samAccountName . lastlogon $lastLogonTimeStamp»
}
}
#Send-MailMessage -To «d.larkin@example.ru» -From «noreplay@example.ru» -Subject «Password change log for $today» -Body «This is the log from $today» -Attachments «C:\temp\maillog$logdate.txt» -SmtpServer $smtpserver
#Write-Host «Email was sent to operations administrators on $today»

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

 
%d такие блоггеры, как: