Под наши задачи немного доработал предыдущий скрипт отвечающий за включение enterprise voice у пользователей. О том что было вы можете посмотреть в моей статье «Скрипт автоматического включения enterprise voice Lync 2013»

Так как мы используем несколько Voice Policy для звонков пользователей исходя из которых пользователь может звонить везде либо только внутри офисов, внес некоторые изменения в работу скрипта. Смотрим скрипт ниже, если что не понятно задаем вопросы.:-)

<#
Orlov Alexey
https://blog.eaglenn.ru
alexey.n.orlov [AT] gmail.com

The script checks for user opreedelnnom container 
( you can specify all AD) and wound up in lync. 
If the user exists on the Lync server and not a member 
of the group not_voice connect interprise voice. 
Number is taken from the Active Directory field phone. 
#>

#Specifies options. Specify a user group.
$group =«CN=Users_Not_Voice_External,ou=Lync,ou=Common,ou=Special,dc=example,dc=com»
# OU users
$OU = «ou=accounts,dc=stada,dc=ru»
#Get a list of users.
Get-CsAdUser -OU $OU | Where-Object phone -ne «-» | Where-Object SipAddress -ne «» | foreach {
$sipit = $_.phone -replace «^1″, «3»
$sipit = «tel:» + $sipit
$NameUser = $_.SamAccountName

#Checks whether the group.
if ((Get-ADUser $NameUser -Properties memberof).memberof -like $group )
{
# If you disable the group enterprise voice.
Set-csUser -Identity $_.SipAddress -EnterpriseVoiceEnabled $true -LineURI $sipit -PassThru |Grant-CsVoicePolicy -PolicyName «Voice Office»
}
Else
{
Set-CsUser -Identity $_.SipAddress -EnterpriseVoiceEnabled $true -LineURI $sipit -PassThru |Grant-CsVoicePolicy -PolicyName «Voice External»
}
}

Оригинал статьи: blog.eaglenn.ru