===== Полезные команды Exchange ===== === Узнать количество лицензируемых почтовых ящиков, 2013 === Get-ExchangeServerAccessLicenseUser –LicenseName "Exchange Server 2013 Standard CAL" | Measure-Object | Select Count ---- === Изменение URL для autodiscover, Exchange 2013 === После установки сервера Exchange, если устанавливаемый сервер будет сосуществовать с другим сервером, нужно после инсталляции перепробить autodiscover URL на тот же, что уже есть в существующем сервере, чтобы клиенты не начали сразу же подключаться на новый сервер. Просмотреть и скопировать существующий URL (параметр ''AutoDiscoverServiceInternalUri'') можно, выполнив команду: Get-ClientAccessServer -Identity mx02 | fl Поменять можно так: Set-ClientAccessServer -Identity mx03 -AutoDiscoverServiceInternalUri https://autodiscover.domain.ru/autodiscover/autodiscover.xml В более поздних версиях Exchange командлет Get-ClientAccessServer изменился на Get-ClientAccessService ---- === Установка агентов антиспам === cd $exscripts .\install-AntispamAgents.ps1 После установки надо перезагрузить транспортную службу Exchange или весь сервер. ---- === Установка политики хранения для почтового ящика места === Из графики нельзя поменять политику хранения для ящика-места. Set-Mailbox "Training Room" –RetentionPolicy "Microsoft Retention Policy" === Узнать полную версию установленного билда и набора обновлений === Get-Command Exsetup.exe | ForEach {$_.FileVersionInfo} ---- === Узнать версию схемы Exchange, скрипт === В данном скрипте используется имя организации "Contoso", которое потребуется заменить, если выполнять в другом окружении. $RootDSE= ([ADSI]"").distinguishedName ([ADSI]"LDAP://CN=ms-Exch-Schema-Version-Pt,CN=Schema,CN=Configuration,$RootDSE").rangeUpper ([ADSI]"LDAP://cn=Contoso,cn=Microsoft Exchange,cn=Services,cn=Configuration,$RootDSE").objectVersion ---- === Создать группу рассылки из существующей группы AD === Enable-DistributionGroup -Identity "VoIP" //Группа, при этом, обязательно должна быть Universal, а не Global:// ;#; {{::universal_group_for_exchange.jpg?200|}} ;#; ---- === Исключить базу данных из предлагаемых баз для создания ящиков === Set-MailboxDatabase -Identity 'Journal' -IsExcludedFromProvisioning $True ---- ---- **Перезапуск сервисов** Перезапуск сервисов, для которых был задан режим запуска //Auto//: $services = get-wmiobject win32_service | ? {$_.name -like "MSExchange*" -and $_.StartMode -eq "Auto"};foreach ($service in $services) {Restart-Service $service.name -Force} ---- **Вывести перечень ящиков из определенного OU** Выводим в тектовый файл ящики АКТИВНЫХ пользователей, размещённых в определенном OU AD (для его указания используем DN), выбрав в результаты только Alias. Get-Mailbox -OrganizationalUnit "OU=DOMAIN,DC=domain,DC=domain,DC=ru" | where {$_.AccountDisabled -match $false} | Select-Object alias >> C:\scripts\users.txt ---- ** Подключить модули Exchange Management Shell в обычный PS ** Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn :!: //PS необходимо запустить от имени администратора, иначе команда не выполнится.// ---- ** Общее количество ящиков ** Узнать общее число пользовательских ящиков - можно следующим образом: (Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited).count {{tag>Exchange Microsoft WindowsServer Mail PowerShell}}