Скрипт powershell для удаленного создания учетных записей Exchange и Skype for Business

Скрипт позволяет создавать почтовые ящики Exchange для новых пользователей и учетные записи Skype for Business с рабочего места администратора, используя возможности powershell-сессий.

Работа скриптов тестировалась на рабочей станции Windows 7 с установленным powershell 4.0 при работе с серверами Exchange 2013 и Skype for Business 2015.

 

Для работы скрипта в системе должны быть установлены powershell 3.0 и выше, и модуль  powershell Skype for Business https://www.microsoft.com/en-us/download/details.aspx?id=39366.

При частом использовании скрипта удобнее пользоваться средой Windows Powershell ISE.

Запускаем ISE и создаем профиль powershell (если вы не создавали его ранее):

C:\> New-Item –Path $Profile –Type File –Force

После чего добавляем скрипт подключения к серверам в профиль:

C:\> notepad $profile

В блокноте откроется содержимое файла профиля, копируем туда текст скрипта подключения:

$ExchangeServer = “exchangeserver.local.net”
$LyncServer = “skypeserver.local.net”
$Registrar = “skypepool.local.net”
$intdomain = “local.net”

# Remove OLD Sessions
get-pssession | remove-pssession

#Ask for super user credentials:
$user = Get-Credential

# Import session information for Exchange, Lync and AD
$ExchSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionURI http://$ExchangeServer/powershell -Credential $user
Import-PSSession $ExchSession
$LyncSession = New-PSSession -ConnectionURI https://$LyncServer/ocspowershell -Credential $user
Import-PSSession $LyncSession
Import-Module ActiveDirectory

Сохраняем файл.

Теперь при запуске Powershell ISE всплывет запрос аутентификации для подключения к серверам Exchange и Skype for Business и произойдет подключение, а также подгрузятся соответствующие модули powershell.

Остается в окне выполнения ввести текст скрипта добавления существующего в AD пользователя и запустить выполнение скрипта:

$User = Read-Host “Имя пользователя?”
$DN = Get-ADUser -Filter “Name -like ‘$User*'”|fl DistinguishedName|out-string
Write-Host $DN

$Database = Read-Host “База данных?”
Enable-Mailbox -Identity $User -Database $database
Start-Sleep -s 20   #Задержка для синхронизации, возможно вам не нужна
Enable-CsUser -Identity $User -RegistrarPool “skypeserver.domain.local” -SipAddressType SamAccountName -SipDomain domain.local
Get-CsUser -Identity $User |ft DisplayName,SipAddress,RegistrarPool

Постоянная ссылка на это сообщение: https://ucblog.ru/2017/11/%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-powershell-%d0%b4%d0%bb%d1%8f-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d1%8f-%d1%83%d1%87%d0%b5%d1%82%d0%bd%d1%8b%d1%85-%d0%b7%d0%b0%d0%bf%d0%b8%d1%81%d0%b5/

Добавить комментарий

Ваш адрес электронной почты не будет опубликован.