Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Поиск уч.записей принадлежащих одному владельцу

Ответить
Настройки темы
PowerShell - [решено] Поиск уч.записей принадлежащих одному владельцу

Аватара для ejik_off

Старожил


Сообщения: 473
Благодарности: 11

Профиль | Отправить PM | Цитировать


Доброе время суток!!!
Нужна помощь ваша помощь в написании скрипта.
Задача: есть файл с учетными записями, у которых в AD одинаковые пароли. Нужно этим пользователям отправить письмо с просьбой изменить пароль на уникальный и где-то сохранить что этому пользователю было отправлено сообщение допустим в эксель добавить имя уч.записи и указать цифру 1, если письмо было отправлено первый раз. 2 - если это уже второе уведомление и тд.
есть также у пользователей спец. учетки с повышенными привилегиями. Они отличаются префиксом. например есть пользователь Василий Пупкин, его учетка - vpupkin, и у него есть с правами локального админа для работы на серверах admsrv_vpupkin. Естественно пароли для этих учеток должны быть разные, но человеческий фактор никто не отменял. По этому требуется проверять файл и на подобные случаи.
Вот как выглядит файл
Скрытый текст
Код: Выделить весь код
Group 1:
iivanov
ppetrov
ssidorov
ttimofeev
Group 2:
rsemenov
mmironov
Group 3:
admdcs_ddmitriev
admsrv_ddmitriev
admwks_ddmitriev
ddmitriev
Group 4:
admsrv_lpavlov
admwks_lpavlov
lpavlov
Group 5:
admdcs_vtitov
admsrv_vtitov
Group 6:
admwks_gsergeev
admsrv_gsergeev
gsergeev

Вот такой код я накидал
Код: Выделить весь код
$filetxt = gc "C:\Temp\AccSamePass-t.txt"

for ($a=1;$a -le $filetxt.Count; $a++) {
   
    if($filetxt[$a] -like "Group*" -or $filetxt[$a] -like '') { continue }

    for ($i=$a+1; $i -le $filetxt.Count; $i++) {      
    
       if($filetxt[$i] -like "Group*" -or $filetxt[$i] -like '') { continue }

        if ($filetxt[$a].Contains($filetxt[$i])) {

                Write-host "Найдены УЗ с одинаковыми паролями:"

                $filetxt[$a]

                $filetxt[$i]

                }

        if ($filetxt[$a] -like "adm[a-z]_*") {

            $item = $filetxt[$a].Substring(2)

            if ($filetxt[$i].Contains($item)) {

                Write-host "Найдены УЗ с одинаковыми паролями_1:"

                $filetxt[$a]

                $filetxt[$i]

                }
        }

    }

}
Такой результат я получаю
Скрытый текст
Найдены УЗ с одинаковыми паролями:
admdcs_ddmitriev
ddmitriev
Найдены УЗ с одинаковыми паролями:
admsrv_ddmitriev
ddmitriev
Найдены УЗ с одинаковыми паролями:
admwks_ddmitriev
ddmitriev
Найдены УЗ с одинаковыми паролями:
admsrv_lpavlov
lpavlov
Найдены УЗ с одинаковыми паролями:
admwks_lpavlov
lpavlov
Найдены УЗ с одинаковыми паролями:
admwks_gsergeev
gsergeev
Найдены УЗ с одинаковыми паролями:
admsrv_gsergeev
gsergeev

Не получается обработать все уч.з сразу, т.е если их больше 2х, как например в случае с ddmitriev. У него 4 уч.з, и на всех один пароль, хотел сделать что бы скрипт обработал их за раз, и в одном письме указал все уч.з.
и второе, скрипт пропустил группу 5, где указаны уч.з admdcs_vtitov, admsrv_vtitov

Отправлено: 10:55, 31-08-2020

 

Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
Get-Content 'c:\temp\AccSamePass-t.txt' `
| Where-Object { $_ -notmatch ':$' } `
| Group-Object -Property {$_ -replace 'adm[^_]*_', ''} `
| ForEach-Object {
    $user = Get-AdUser $_.Name -Property Mail
    $badPasswordLogins = $_.Group -join "`n`r"
    $body = "Привет, $($user.Name)! `n`r Смени пароли у учётных записей:`n`r$badPasswordLogins"
    Send-MailMessage -To $user.Mail -Subject 'смена пароля' -Body $body
    Add-Content -Path 'c:\temp\рассылка.log' -Value "$(Get-Date -Format s)`t$badPasswordLogins"
}
из лога сделаете выборку и получите количество писем

Цитата Iska:
чтобы не было подбора по радужным таблицам — включают блокировку учётных записей после нескольких неправильных попыток »
лучше не пишите умные слова, смысла которых не понимаете - не так смешно будет

радужные таблицы хранят (в алгоритмической форме) сопоставление пароля и хэша (или другое сопоставление)
соответственно по ним не долбятся в систему с неудачными попытками
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:49, 02-09-2020 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Busla, не могу с Вами согласиться, коллега: если совсем не писать — то кто сможет развенчать мои искренние заблуждения, кто скажет, что я не понимаю смысла? А теперь — вот .

Спасибо за разъяснение.


Цитата ejik_off:
То есть если пользователи все будут использовать один пароль ничего страшного в этом нет? »
Нет. Если пользователи не делятся этим фактом друг с другом.

Отправлено: 12:31, 02-09-2020 | #12


Аватара для ejik_off

Старожил


Сообщения: 473
Благодарности: 11

Профиль | Отправить PM | Цитировать


Busla, Спасибо за скрипт!!!!
Цитата Iska:
Нет. Если пользователи не делятся этим фактом друг с другом. »
с обычными пользователями не сильно критично, больше волнует когда у админов или сотрудников хелпдеска пароли одинаковые от рабочей уч.з и от привилегированной. Есть большой шанс что они где-нибудь засветят пароль от рабочей уч.з. Мысль я думаю понятна.

Отправлено: 13:03, 02-09-2020 | #13


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата ejik_off:
Мысль я думаю понятна. »
Да.

Отправлено: 13:52, 02-09-2020 | #14



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Поиск уч.записей принадлежащих одному владельцу

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - Проблемы с уч записью. VanAliens Microsoft Windows 10 1 12-05-2020 12:28
2012 - Оператор уч. записей krec Windows Server 2012/2012 R2 14 28-06-2017 17:58
Службы - Как сдружить UAC(Контроль уч. записей) и Режим одобрения администратором hrensnim15n Microsoft Windows 8 и 8.1 4 05-04-2014 01:09
Поиск файлов по владельцу Darkich Microsoft Windows NT/2000/2003 8 29-01-2014 11:56
Доступ - [решено] Ctrl+Alt+Delete на экране выбора уч. записей. MonahNester Microsoft Windows 7 3 02-09-2011 14:32




 
Переход