Страница 1 из 1

помощь с постановкой задачи и логики

Добавлено: 07 сен 2021, 11:50
amuseDi

Ласкового Солнца, народ!
помогите, пожалуйста с задачей - раздать индивидуальные pst файлы пользователям по сети через powershell.
У меня есть файлы формата pst с именами ящиков и есть домен с пользователями.
В конечном итоге мне надо, чтобы каждый пользователь получил свой архив писем. Я вижу решение в следующем:
1. Создание общей папки для всех
2. создание каждому индивидуальной папки
3. установка NTFS прав на папку - группа администраторы домена и конкретный пользователь.
4. копирование файлов в соответствии с папкой
правильно ли я себе представил задачу?
Если с пунктами 1 и 2 у меня вопросов нет, то с другими есть проблемы отсюда может быть я пытаюсь решить это не правильно?
Благодарю.


Re: помощь с постановкой задачи и логики

Добавлено: 07 сен 2021, 13:23
Karen

Здравствуйте! У пользователей в AD прописан ящик в атрибуте email? В каком формате имена у .pst файлов?


Re: помощь с постановкой задачи и логики

Добавлено: 07 сен 2021, 20:20
amuseDi

Да, у пользователей прописаны email-ы, но имена файлов, почти у всех, в формате "Иванов И.И..pst", и ещё проблема в том, что изначальные имена в AD поменяли, если раньше были использованы поля "First name" - Иванов и "Initials" - И.И, то теперь в "First name"- Иван Иванович, "Last name" - Иванов.


Re: помощь с постановкой задачи и логики

Добавлено: 08 сен 2021, 09:40
Karen

Фамилии и инициалы лексически совпадают в AD и в именах pst-файлов? То есть мне важно понять, что в AD Иванов Иван Иванович и в соответствующем ему pst он же, пусть даже с сокращенными инициалами (Иванов И.И.). Выдернуть фамилию и первые буквы из инициалов в AD и сопоставить их с именем pst проблем не составит при их идентичности


Re: помощь с постановкой задачи и логики

Добавлено: 08 сен 2021, 10:43
amuseDi

Да, лексически совпадает.
то есть, нужно 1. подключиться к АД и выгрузить список
2. из списка циклом найти нужную фамилию (и первые буквы инициалов)
3. сопоставить с pst файлами в папке
4. создать нужную папку и дать права (группе дом.администраторов и конкретному пользователю
так?


Re: помощь с постановкой задачи и логики

Добавлено: 08 сен 2021, 12:12
Karen

В-целом, да, примерно такой алгоритм. Только я бы формировал массив с готовыми именами при выгрузке пользователей из AD. Вот так:

Wake up, Neo, select all

$users=(get-aduser -filter *).name | foreach {$_ -replace '([A-Яа-я]+)\s([A-Я])[а-я]+\s([A-Я])[а-я]+','$1 $2.$3.'}

Re: помощь с постановкой задачи и логики

Добавлено: 08 сен 2021, 12:31
amuseDi

сложноватая для меня конструкция, но попробую