Возникла задача предоставить внешний доступ к Lync всем пользователям определенного контейнера AD (OU).
Для данных команд нам потребуется Lync Server Management Shell.
Для начала выведем текущие разрешения для пользователей
get-csuser -OU "OU=папка,DC=holding,DC=com" | select displayname, externalaccesspolicy
Теперь поменяем политику доступа к Lync для этих пользователей
get-csuser -OU "OU=папка,DC=holding,DC=com" | Grant-CsExternalAccessPolicy -PolicyName "Tag:Allow Outside Access" -PassThru
Повторим предыдущую команду, чтобы удостовериться в том, что доступ к линку извне пользователям предоставлен.
Обратите внимание, что в Lync Shell за работу с пользовательскими политиками отвечает 5 командлетов
get-command *externalaccess*
1 2 3 4 5 6 7 |
CommandType Name ModuleName ----------- ---- ---------- Cmdlet Get-CsExternalAccessPolicy Lync Cmdlet Grant-CsExternalAccessPolicy Lync Cmdlet New-CsExternalAccessPolicy Lync Cmdlet Remove-CsExternalAccessPolicy Lync Cmdlet Set-CsExternalAccessPolicy Lync |
- Get отображает все имеющиеся политики и их настройки;
- Grant – назначает применяет пользовательскую политику на пользователя. Чтобы отменить назначение пользовательской политики, необходимо в параметре PolicyName указать $null;
- New – создание новой политики;
- Remove – удаление политики;
- Set – изменение параметров существующей политики
Также стоит ознакомиться со справкой по командлету
get-help Grant-CsExternalAccessPolicy -full | more
Например, из справки я узнал, что мне потребуется параметр -PassThru
, иначе командлет не возьмет имена пользователей, передающиеся по конвейеру.
Маленькие игры с Powershell
get-command *-cs*policy* | %{($_.name).split(‘-‘)[1]} | group | select count, name | sort count -Descending | Export-Csv C:\Scripts\policy.csv
Вывод количества командлетов по каждому типу политик Lync