Лучший отвечающий
Регламентное задание по смене пароля

Вопрос
-
Всем привет.
Помогите ( поделитесь скриптом )
Нужно чтобы всем пользователям AD ( в том числе администраторам домена , кромя пользователя blackhole ) по заданию винды менялись пароли пользователей и отправлялось письмо на почту sb@domain.local с новыми паролями вот такого вида:
ФИО
Логин
Пароль
Сначала Вас игнорируют, потом над Вами смеются, потом с Вами борются, а затем Вы победили.
- Изменен тип Vasily GusevModerator 31 июля 2012 г. 9:23
30 июля 2012 г. 8:05
Ответы
-
ИМХО Вам стоит отказаться от этой идеи,т.к. смахивает на бред и особой пользы не несет,а только проблемы.
$inform = @() Get-ADUser -fi * -prop displayname | Foreach { $ppass = "qwert@12345" $spass = ConvertTo-SecureString -AsPlainText $ppass -Force try { Set-ADAccountPassword -Identity $_ -NewPassword $spass -Reset $inform += New-Object PsObject -Property @{ ФИО = $_.displayname Логин = $_.SamAccountName Пароль = $ppass } } catch { Write-Host "$($_.SamAccountName) обновить не удалось." -ForegroundColor Yellow } } $body = $inform | select ФИО,Логин,Пароль | Format-List | Out-String Send-MailMessage -Body $body -To "sb@domain.local" -From "ss@domain.local" -Subject "Смена паролей"
- Предложено в качестве ответа Angel-Keeper 31 июля 2012 г. 6:03
- Предложено в качестве ответа Vasily GusevModerator 31 июля 2012 г. 9:23
- Помечено в качестве ответа KazunEditor 15 августа 2012 г. 9:08
30 июля 2012 г. 9:09Отвечающий
Все ответы
-
ИМХО Вам стоит отказаться от этой идеи,т.к. смахивает на бред и особой пользы не несет,а только проблемы.
$inform = @() Get-ADUser -fi * -prop displayname | Foreach { $ppass = "qwert@12345" $spass = ConvertTo-SecureString -AsPlainText $ppass -Force try { Set-ADAccountPassword -Identity $_ -NewPassword $spass -Reset $inform += New-Object PsObject -Property @{ ФИО = $_.displayname Логин = $_.SamAccountName Пароль = $ppass } } catch { Write-Host "$($_.SamAccountName) обновить не удалось." -ForegroundColor Yellow } } $body = $inform | select ФИО,Логин,Пароль | Format-List | Out-String Send-MailMessage -Body $body -To "sb@domain.local" -From "ss@domain.local" -Subject "Смена паролей"
- Предложено в качестве ответа Angel-Keeper 31 июля 2012 г. 6:03
- Предложено в качестве ответа Vasily GusevModerator 31 июля 2012 г. 9:23
- Помечено в качестве ответа KazunEditor 15 августа 2012 г. 9:08
30 июля 2012 г. 9:09Отвечающий -
ИМХО Вам стоит отказаться от этой идеи,т.к. смахивает на бред и особой пользы не несет,а только проблемы.
$inform = @() Get-ADUser -fi * -prop displayname | Foreach { $ppass = "qwert@12345" $spass = ConvertTo-SecureString -AsPlainText $ppass -Force try { Set-ADAccountPassword -Identity $_ -NewPassword $spass -Reset $inform += New-Object PsObject -Property @{ ФИО = $_.displayname Логин = $_.SamAccountName Пароль = $ppass } } catch { Write-Host "$($_.SamAccountName) обновить не удалось." -ForegroundColor Yellow } } $body = $inform | select ФИО,Логин,Пароль | Format-List | Out-String Send-MailMessage -Body $body -To "sb@domain.local" -From "ss@domain.local" -Subject "Смена паролей"
Сначала Вас игнорируют, потом над Вами смеются, потом с Вами борются, а затем Вы победили.
30 июля 2012 г. 18:58 -
Подробнее про Send-MailMessage - get-help Send-MailMessage -full
PS > get-help Send-MailMessage -param smtpserver -SmtpServer <string> Specifies the name of the SMTP server that sends the e-mail message. The default value is the value of the $PSEmailServer preference variable. If the preference variable is not set and this parameter is omitted, the command fails. Required? false Position? 4 Default value $PSEmailServer Accept pipeline input? false Accept wildcard characters? false PS > get-help Send-MailMessage -param credential -Credential <PSCredential> Specifies a user account that has permission to perform this action. The default is the current user. Type a user name, such as "User01" or "Domain01\User01". Or, enter a PSCredential object, such as one from the Get- Credential cmdlet. Required? false Position? named Default value Current user Accept pipeline input? false Accept wildcard characters? false
30 июля 2012 г. 19:21Отвечающий