![]() |
Set-AddressBookList не удается выполнить
Добрый день,
Необходимо поменять местами значения параметра AddressLists в команде Get-AddressListPolicy. Там идёт список Группы рассылок, Организация Пользователи. Из-за чего в клиенте Outlook адресная книга всегда открывается на группе рассылок. А надо, чтобы были по-умолчанию открывались Пользователи. Нашел пример, Код:
Set-AddressBookPolicy -Identity GovernmentAgencyA -AddressLists @{Remove="GovernmentAgencyA-ALL","GovernmentAgencyB-All";Add="GovernmentAgencyA-Atlanta","GovernmentAgencyA-Moscow"} Код:
Cannot process argument transformation on parameter 'AddressLists'. Cannot convert value Код:
$Addresslists = (Get-AddressBookPolicy -Identity <Name of AddressbookPolicy>).Addresslists | Select-Object Name -ExpandProperty Name Код:
Select-Object : Property "Name" cannot be found. |
| Select-Object Name -ExpandProperty Name заменить на | Select-Object -ExpandProperty Name
|
Код:
$Addresslists = (Get-AddressBookPolicy -Identity Test).Addresslists | Select-Object -ExpandProperty Name |
Команды возвращают какие данные?
|
Первая:
Код:
Name GlobalAddressList AddressLists OfflineAddressBook RoomList Код:
\Тест Группы рассылки |
Код:
$Addresslists = (Get-AddressBookPolicy -Identity <Name of AddressbookPolicy>).Addresslists |
Выполняется
|
Код:
$Addresslists = @() |
В последней ошибка:
Код:
Cannot process argument transformation on parameter 'AddressLists'. Cannot convert value |
Код:
[PS] C:\Windows\system32> (Get-AddressBookPolicy "contoso.com_ABP").AddressLists.Name ![]() |
Верю, но у меня не работает.
Попробовал создать по новый New-AddressBookPolicy. Команда отработала, но порядок тоже не верный (сначала идёт группа рассылок, а затем Пользователи) Два наблюдения: Tест Пользователи Тест Группы рассылки Начинаются на разную букву Т. Для пользователи это английская буква Т, для Группы рассылок русская Когда я добавлял данные я в переменную, я конечно это учитывал Второе. (Get-AddressBookPolicy "Test").AddressLists - выдает две строчки: \Тест Группы рассылки \Тест Пользователи А вот команда (Get-AddressBookPolicy "Test").AddressLists.Name Ничего не отображает. |
Да, тут моя ошибка, сортировка в данной случае не влияет, что будет первым. Надо смотреть поле - DisplayName , добавьте спец.знак вперед, например - #
Код:
Get-AddressList "contoso.com_1" | Set-AddressList -DisplayName "#contoso.com_1" Код:
[PS] C:\Windows\system32>(Get-AddressBookPolicy).AddressLists.Name ![]() |
То есть порядок по алфавиту? Да похоже, на правду. Но раньше же почему то было именно так как нужно: сначала Пользователи, затем Группа рассылки.
Не факт что это связанно, но это случилось вместе с переездом с 2010 на 2013. Как думаете, ещё кроме DisplayName, что то может влиять на порядок сортировки? |
Кроме вариантов с DisplayName не знаю, т.к. сортировка идет на уровне Active Directory, а там используется функция CompareStringW - Handling Sorting in Your Applications .
Для вашего примера: Вариант где все буквы русские в DisplayName ![]() Вариант где у Пользователей изменена буква Т на английскую (только в атрибуте DisplayName) ![]() И как это выглядит в AD: ![]() |
Время: 21:25. |
Время: 21:25.
© OSzone.net 2001-