===== Полезные команды 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}}