Имеется следующая задача – необходимо собирать всю входящую почту для определённого домена/поддомена в определённый почтовый ящик.

Нечто похожее описано в статье Configure a Catch-All Mailbox в библиотеке технета. Правда описание годится только в сценарии с использованием сервера с ролью Edge. Если у нас его нет, то придётся немного изменить сценарий:

  1. Создаём почтовый ящик под наши цели.
    [PS] C:>New-Mailbox -UserPrincipalName catch-all@domain.com
    -Alias catch-all -Name "Catch All"
  2. Проверяем, что наша почтовая организация может принимать почту для нашего домена. Если не принимает, то необходимо наш домен добавить в Accepted Domains как Internal Relay (если его сделать Authoritative, то Exchange будет проверять, существует ли почтовый адрес в организации, прежде чем пересылать письмо, и большую часть писем будет отбивать, как идущих на несуществующие адреса).
    [PS] C:>New-AcceptedDomain -DomainName subdomain.domain.com
    -DomainType InternalRelay -Name subdomain.domain.com
  3. Настраиваем транспортное правило, которое будет перенаправлять всю почту для нашего домена в ящик, созданный на шаге 1.
    [PS] C:>New-TransportRule -Name "Catch All Messages" -Comment
    "Catch All Messages" -Enabled $true -RecipientAddressMatchesPatterns
    "@subdomain.domain.com$" -RedirectMessageTo 'catch-all@domain.com'

В итоге получаем следующий механизм работы. Письмо приходит на адрес someaddress@subdomain.domain.com. Транспортный сервер понимает, что письмо адресовано ему (домен получателя находится в Accepted Domains). Но в связи с тем, что тип домена InternalRelay проверка получателя на валидность не происходит. После этого письмо попадает в транспортное правило и уходит в нужный нам ящик.

Вопрос виртуализации контроллеров домена непрост. Достаточно подробно его недавно разбирал Геннадий Ефимов у себя в блоге. Имеется проблема зависимости кластерных служб и служб виртуализации от аутентификации контроллерами домена, которые без них сами (точнее, виртуальные машины с контроллерами домена) запущены быть не могут. Имеется некоторое количество обходных путей по решению это проблемы. Имеется даже специальная статья в базе знаний о том, что нужно знать, размещая контроллеры домена в виртуальные машины.

Читая Introducing Windows Server 2012 глаз зацепился за следующее:

So, let’s say you want to virtualize all your domain controllers and make them highly available by placing them all in a cluster and storing them on CSVs. In the event that all nodes of the cluster are down, you are placed in a catch-22 situation: Cluster services and CSVs depend on a writable domain controller for domain authentication in the beginning, but your virtualized domain controllers need the cluster services running in order to start. The Cluster Service would not start because it could not get to the domain controller, and the domain controller would not start because the Cluster was down!

In Windows Server 2012 Failover Clustering, this has changed. The Cluster Service will now start using a special internal local account. All other nodes in the Cluster will start and join as it is using this special account. The CSVs would also come online. It is almost like we have our own hidden domain just for ourselves to use. Because the Cluster Service is started and the CSVs are online, the domain controllers can start.