blog by ficti0n

вторник, 21 апреля 2020 г.

Обновление MS EXCHANGE 2013


Обновление MS EXCHANGE 2013 
Исходные данные: 2 сервера CAS и 2 сервера MBX (DAG)
P.S. Данная схема протестирована успешно при обновлении с CU13 до CU23 

Обновление CAS серверов.
1.       Подготовка (делаем резервные копии файлов и реестра для всех серверов)
Во время установки обновления Exchange 2013 все конфигурационные файлы будут перезаписываться новыми. Если вы вносили какие-либо изменения в эти файлы, то вам нужно позаботиться о том, чтобы сохранить где-либо изменения, которые вы вносили.
Ниже представлен список файлов, изменения в которых необходимо сохранить куда-либо, чтобы после установки обновления их внести заново:
- IIS: файлы web.config MBX роли (они располагаются в подпапках по пути C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess) – их изменение обычно связано, например, с интеграцией с Lync или с исправлением, когда учетная запись имеет слишком большое членство в группах
- IIS: файлы web.config CAS роли (они располагаются в подпапках по пути C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy) – их изменение обычно связано, например, с исправлением, когда учетная запись имеет слишком большое членство в группах
- Exchange: файлы *.config – конфигурационные файлы служб Exchange (они располагаются по пути C:\Program Files\Microsoft\Exchange Server\V15\Bin) – их изменение обычно связано, например, с необходимостью увеличить количество одновременных перемещений почтовых ящиков
- Exchange: реестр (расположение HKLM\Software\Microsoft\ExchangeServer\V15)

2.       Выводим обновляемый сервер из балансировки
Запускаем Панель управления\Все элементы панели управления\Администрирование\ «Диспетчер балансировки сетевой нагрузки»
На обновляемом сервере нажимаем ПКМ – Узел управления – Стоп.
Далее опять на обновляемом сервере нажимаем ПКМ – Свойства узла – Состояние по умолчание выбираем «Остановлена». Применить.

3.       Переводим сервер в режим обслуживания
В Exchange Management Shell (EMS) выполняем команду:
Set-ServerComponentState CAS02 -Component ServerWideOffline -State inactive -Requester Maintenance

4.       При необходимости устанавливаем Framework требуемой версии и Visual C++ Redistributable
- Устанавливаем Visual C++ Redistributable
- Устанавливаем Framework
- Перезагружаемся

5.       Подготавливаем Active Directory (это делается один раз на первом сервере)
Теперь перейдем в директорию с распакованным обновлением (CU) и расширим схему AD (нужен компонент Windows Server "RSAT-ADDS" и обновление безопасности) будем использовать для этого cdm.exe запущенную от Администратора:
setup.exe /prepareschema /IAcceptExchangeServerLicenseTerms
Подготовим Active Directory:
setup.exe /preparead /IAcceptExchangeServerLicenseTerms
Подготовим домен (запускается для каждого домена, содержащего почтовый сервер Exchange):
setup.exe /PrepareDomain /IAcceptExchangeServerLicenseTerms


6.       Устанавливаем обновление
- Запускаем cmd.exe.
- Переходим в папку с распакованным обновлением и запускаем обновление командой:
setup /m:Upgrade /IAcceptExchangeServerLicenseTerms
- Перезагружаем сервер.

7.        Выводим сервер из режима обслуживания
В Exchange Management Shell (EMS) выполняем команду:
Set-ServerComponentState CAS02 -Component ServerWideOffline -State active -Requester Maintenance

8.       Возвращаем сервер в балансировку
Далее опять на обновляемом сервере нажимаем ПКМ – Свойства узла – Состояние по умолчание выбираем «Работает». Применить.
На обновляемом сервере нажимаем ПКМ – Узел управления – Старт.

9.       Проверяем работоспособность
Get-ServerComponentState Name_Of_CAS_server

10.   Для других CAS серверов  все то же самое, только пропускаем пункт 1, 5


Обновление MBX серверов в DAG.

1.       Переводим сервер в режим обслуживания
В Exchange Management Shell (EMS) выполняем команды:
Set-ServerComponentState mbx01 -Component HubTransport -State Draining -Requester Maintenance

Redirect-Message -Server mbx01 -Target mbx02

Suspend-ClusterNode mbx01

Set-MailboxServer mbx01 -DatabaseCopyActivationDisabledAndMoveNow $True

Set-MailboxServer mbx01 -DatabaseCopyAutoActivationPolicy Blocked

Set-ServerComponentState mbx01 -Component ServerWideOffline -State Inactive -Requester Maintenance

2.       При необходимости устанавливаем Framework требуемой версии и Visual C++ Redistributable
- Устанавливаем Visual C++ Redistributable
- Устанавливаем Framework
- Перезагружаемся

3.       Устанавливаем обновление
- Запускаем cmd.exe.
- Переходим в папку с распакованным обновлением и запускаем обновление командой:
setup /m:Upgrade /IAcceptExchangeServerLicenseTerms
- Перезагружаем сервер.

4.        Выводим сервер из режима обслуживания
В Exchange Management Shell (EMS) выполняем команды:
Set-ServerComponentState mbx01 -Component ServerWideOffline -State Active -Requester Maintenance

Resume-ClusterNode mbx01

Set-MailboxServer mbx01 -DatabaseCopyActivationDisabledAndMoveNow $False

Set-MailboxServer mbx01 -DatabaseCopyAutoActivationPolicy Unrestricted

Set-ServerComponentState mbx01 -Component HubTransport -State Active -Requester Maintenance

5.       Проверяем работоспособность
В Exchange Management Shell (EMS) выполняем команды:
Get-ExchangeServer | ft Name, ServerRole, AdminDisplayVersion –AutoSize

Get-ClusterNode

Test-ServiceHealth

Test-MAPIConnectivity -Database maildb1 для каждой базы

Get-MailboxDatabase | Get-MailboxDatabaseCopyStatus | ft Name, Status, CopyQueueLength, ReplayQueueLength, ContentIndexState –AutoSize

Test-ReplicationHealth -Server mbx01

Get-MailboxServer | ft name, *activ*

Get-ServerComponentState mbx01

6.       Для других MBX серверов  аналогично


Полезные ссылки









понедельник, 11 сентября 2017 г.

Долго не выкладывал обновления программы Helpdesk FindUser. Сейчас готова версия 2.4.0 Описывать все изменения не буду, лучше опишу возможности текущей версии программы.



1. Программа осуществляет поиск компьютера, за которым работает пользователь, по выводимому имени, логину, ip адресу, имени компьютера,  операционной системе, подключенному принтеру. Также поиск может осуществляться только по Active Directory.
2. Редактирование данных пользователя Active Directory, смена пароля и типа входа, блокирование, разблокирование и удаление пользователя.
3. Быстрое подключение к удаленному компьютеру с помощью программ удаленного управления. Существует возможность привязывать любую программу удаленного доступа (Radmin, Dameware, ...)

четверг, 18 августа 2016 г.

Аудит подключений по VPN к Forefront TMG

При подключении к VPN серверу в журнале "Безопасности" пишутся события с ID 6278 и 6272. Ранее я писал как с помощью "Планировщика задач" можно эти события отловить и выполнить powershell скрипт, который отправить информацию на почтовый адрес.
Ниже текст скрипта.

среда, 17 августа 2016 г.

Перемещение почтовой базы на другой диск (Exchange 2013 Database Availability Group (DAG))

1. Проверяем, что с базами все в порядке и процесс архивирования завершен:
Get-MailboxDatabase -Status | format-table Name,Mounted,BackupInProgress, OnlineMaintenanceInProgress

2. Удаляем копию перемещаемой базы с пассивного сервера:
Remove-MailboxDatabaseCopy –Identity <Database name>\<Сервер> -Confirm:$False

3. Отключаем активную базу:
Dismount-Database –id <Database name> –Confirm:$False 

вторник, 28 июня 2016 г.

Аудит серверов с помощью скриптов на powershell и "Планировщика задач".

     Есть такая задача у администраторов, знать кто, когда и что. Так как на домен-контроллере события в Журнале Безопасности редко хранятся больше суток (уж больно много их плодится там), то решено было вести мониторинг с помощью отслеживания срабатывания на определенные "Event ID" в "Планировщике заданий" и последующей выборкой данных из журнала и отсылкой на почту с помощью powershell-скриптов.

четверг, 24 марта 2016 г.

Спам от имени своего домена, от самого себя (Exchange)

Столкнулся я при настройке антиспама в Exchange 2013 с такой проблемой: приходит спам либо от самого себя, либо от моего домена. Причем спам мог прийти от пользователя, которого нет в домене. Долгие ковыряние Exchange  позволили мне только лишь закидывать их в спам ящик. Microsoft никаких работающих решений не предложил и я на некоторое время отложил эту проблему, думая что с выходом нового CU все решится. CU выходили, проблема оставалась. В очередной раз копая решение этой проблемы в интернете я натолкнулся на оригинальное решение и решил его попробовать. Алелуйя, сработало.

понедельник, 28 декабря 2015 г.

Простейший мониторинг портов Cisco (Delphi 7, мои программы)

Наверное каждый администратор, сталкиваясь с сетевым оборудованием, задается вопросом о мониторинге. На моей работе так сложилось, что провода не всегда промаркированы и висят огромным "пауком". Да и вообще, я по натуре ленив и бегать, лазить, искать "концы" - это меня напрягает. Есть много различных программ и целых проектов для мониторинга. Но они либо сложно настраиваются, либо слишком громоздки (90% функционала мне не нужно). Мне нужно было получать информацию о включении и отключении портов, об access и voice vlan на портах.
Пример: я послал инженера в серверную и попросил выдернуть из сервера патч. Он дернул - я увидел в какой порт он приходит, какие vlan на нем.
https://yadi.sk/i/jU1fc2pMmZEU3