Size: a a a

2021 September 23

AF

Alexey D. Filimonov ... in Powershell Rus
Извини, с мобилы...
источник

А

Александр in Powershell Rus
Благодарю! Всё отлично. Я сильно больше времени на Гугл потратил))
источник

AF

Alexey D. Filimonov ... in Powershell Rus
А задача какая стоит
источник

A

Aivar in Powershell Rus
Добавить новые адреса в атрибут proxyAddresses
источник

AF

Alexey D. Filimonov ... in Powershell Rus
Ну так добавляй все в нижнем регистре, где проблема
источник

A

Aivar in Powershell Rus
Проблема в том что у этого атрибута может быть много знаничей, приоритетным адресом является тот у которого SMTP  в верхнем регистре
источник

A

Aivar in Powershell Rus
ну а есть еще smtp в нижем и это почтовый алиас
источник

AF

Alexey D. Filimonov ... in Powershell Rus
Да я в курсе. У тебя есть пользователи, у них уже есть какие то адреса. Один из уже существующих должен быть в верхнем регистре. Приводи все остальные в нижний и добавляй
источник

АР

Александр Рыжов... in Powershell Rus
Так как надо добавить?
источник

AF

Alexey D. Filimonov ... in Powershell Rus
То есть у тебя 3 варианта пользователей
1. У пользователя нет адресов smtp.
2. У пользователя есть адреса в ВЕРХНЕМ регистре и возможно в нижнем и ни один из адресов не совпадает с теми что ты добавляешь.
У. У пользователя есть адреса в ВЕРХНЕМ регистре и возможно в нижнем и ни один или несколько адресов совпадает с теми что ты добавляешь.
источник

A

Aivar in Powershell Rus
ну тут все чуть сложнее
есть юзер, у которого
SMTP - primary
smtp
smtp
smtp
smtp

Мне нада:
SMTP - primary - заменить новым адресом
старый примари сделать алиасом, тоесть перенести его в нижний регистр

и нивком случаи не грохнуть уже существующие smtp
источник

AF

Alexey D. Filimonov ... in Powershell Rus
Ааа
источник

A

Aivar in Powershell Rus
Я написал такое

Import-Module ActiveDirectory
$users = Import-CSV "C:\Users\adm.aaa\Desktop\Book1.csv" -Delimiter ";"
foreach ($user in $users) {
Get-ADUser -Filter "SamAccountName -eq '$($user.samaccountname)'" -Properties *

Set-ADUser -Identity $user.SamAccountName -add @{proxyAddresses=$user.proxyAddresses -split ";"}
Set-ADUser -Identity $user.SamAccountName -add @{proxyAddresses=$user.proxyAddresses2 -split ";"}
Set-ADUser -Identity $user.SamAccountName -EmailAddress $($User.mail)
}
источник

A

Aivar in Powershell Rus
Но в этом варианте, у меня получается два SMTP адреса
источник

A

Aivar in Powershell Rus
есть идеи?)
источник

AF

Alexey D. Filimonov ... in Powershell Rus
$user = 'adfilimonov'
$newMail = 'Vasya@mail.ru'
$paList = @(Get-ADUser -Properties proxyAddresses -Identity $user | Select -ExpandProperty proxyAddresses)
$paList = @($paList | ForEach-Object {
       if ($_ -eq "smtp:$($newMail)") {
           return
       }
       if ($_ -clike 'SMTP:*') {
           return $_.ToLowerInvariant()
       } else {
           return $_
       }
   }) + @("SMTP:$($newMail)")
Set-ADUser -Identity $user -Replace @{'proxyAddresses' = $paList} -WhatIf
источник

AF

Alexey D. Filimonov ... in Powershell Rus
Учитывает что у тебя не только SMTP-адреса там могут быть (их оставляет как есть) и то что новый адрес уже может быть в списке.
источник

A

Aivar in Powershell Rus
чет не могу скрестить с моей задачей
источник

A

Aivar in Powershell Rus
походу уже устал
источник

A

Aivar in Powershell Rus
вопрос как зануть сюда из csv данные в двух столбиках
источник