Перейти к содержимому

exchange

Как сделать автоматическую очистку почты exchange при заполнении больше 90 процентов ящика.

Задача чистить почту при заполнении почты у пользователей больше 90%. Удаляются самые старые письма.

<# .SYNOPSIS
    Очистка почты операторов
.DESCRIPTION
    Скрипт проверяет все ящики в базах Op01/02, при заполнении почты более чем на 90% от квоты удаляет самые старые письма в папке Входящие и её подкаталогах.
    Удаление идёт до тех пор пока размер заполнености ящика не станет равен 90%.
#>
#╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗#
$Host.UI.RawUI.WindowTitle = "Очистка почты операторов"
#╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝#
 
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
$watch = [System.Diagnostics.Stopwatch]::StartNew()
$watch.Start()
[system.gc]::Collect()
#------ Logging section ------#
 
$fileLocation = (gi $MyInvocation.InvocationName) | ForEach-Object {
    $fileDirectory = "$($_.DirectoryName)\$($_.BaseName)";
    "$fileDirectory\$($_.BaseName)_$('{0:yyyy-MM-dd}'-f(date))";
    if (!(Test-Path "$fileDirectory")) {
        ni "$fileDirectory" -ItemType "directory" | Out-Null
    }
Читать далее

Как завести пользователь в exchange через powershell.

Задача у пользователей была почта zimbra и прописана в ad. Надо всех пользователей завести в exchange.

<# .SYNOPSIS
    Заведение почты операторов adminbd
.DESCRIPTION
    Скрипт ищет пользователей с почтой corp.adminbd.ru и заводит почту в adminbd.ru. Исключение OU=External.
#>
#╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗#
$Host.UI.RawUI.WindowTitle = "Заведение почты операторов adminbd"
#╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝#
[system.gc]::Collect()
 
#------ Variables ------#
 
$BaseOU = "OU=Locations,DC=adminbd,DC=ru"
$ExceptinOU = "*External*"
$MailCorp = Get-ADUser -SearchBase $BaseOU -filter * -properties 'mail','UserPrincipalName','SamAccountName' | Where-Object {$_.mail -Match ".*@corp.adminbd.ru"} | Where-Object {$_.CanonicalName -notlike $ExceptinOU}
#$MailCorp = Get-ADUser -SearchBase $BaseOU -filter * -properties 'mail','UserPrincipalName','SamAccountName' | Where-Object {$_.mail -like $NULL} | Where-Object {$_.CanonicalName -notlike $ExceptinOU}
 
  
 #------ Execution ------#
$UserCredential = Get-Credential
#$UserCredential 
Читать далее

Как устранить ошибку федеративного траста Exchange Requesting delegation token from the STS… RESULT: Error.

Ошибки

An error occurred while attempting to provision Exchange to the Partner STS.  Detailed Information “An error occurred accessing Windows Live. Detailed information: “The underlying connection was closed: An unexpected error occurred o
n a send.”.”.

Requesting delegation token from the STS… RESULT: Error.

Надо включить tls 1.2 на всех серверах  Exchange.

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001

 

Как настроить trusted federation Microsoft Exchange Server. Federation. Федерация. Вторая часть.

Предпосылки

  • Служба автообнаружения должна быть доступна по крайней мере для одного сервера клиентского доступа из Интернета.
  • EWS должен быть доступен по крайней мере для одного сервера, а внешний URL-адрес должен соответствовать имени, доступному из Интернета, и SN сертификата стороннего производителя или имени SAN.

Как настроить trusted federation Microsoft Exchange Server. Federation. Федерация. Вторая часть.

Организационные отношения

После того, как мы настроили федеративный траст.

Будем использовать команду Get-FederationInformation о противоположной организации и передачу ее для создания новой связи организации. Уровень доступа на обеих сторонах связи должен быть одинаковым.

В нашей организации:

Get-FederationInformation -DomainName roga.ru | New-OrganizationRelationship -Name "roga.ru" -FreeBusyAccessEnabled $true -FreeBusyAccessLevel LimitedDetails

или

New-OrganizationRelationship -Name "roga" -DomainNames "roga.ru" -FreeBusyAccessEnabled $true -FreeBusyAccessLevel LimitedDetails 
Читать далее

Как настроить trusted federation Microsoft Exchange Server. Federation. Федерация. Первая часть.

Задача между двумя доменами, без доверительных отношений, сделать федеративный траст. Что бы пользователи разных доменов видели занятость в календарях друг друга

Что такое trusted federation можно почитать тут:

https://docs.microsoft.com/en-us/exchange/federation-exchange-2013-help?redirectedfrom=MSDN#KT

Эти все настройки делались на почтовых серверах одного домена, пусть будет roga.ru . На kopyta.ru тоже самое проделать.

Под федерацией подразумевается базовая инфраструктура отношений доверия, поддерживающая федеративный общий доступ, — простой способ обмена данными календаря с получателями во внешних федеративных организациях.

     Доверие федерации работает на базе бесплатного облачного сервиса Microsoft Federation Gateway . Шлюз Microsoft Federation Gateway действует как промежуточный орган, с которым все организации Exchange должны установить однократное доверие, … Читать далее

Как устранить ошибку 451 4.4.395 Target host responded with error. -> 451 5.7.3 Cannot achieve Exchange Server authentication

Ошибка в Exchange  451 4.4.395 Target host responded with error. -> 451 5.7.3 Cannot achieve Exchange Server authentication . Между серверами и edge .

В первую очередь проверить надо ответ smtp 25 порт.

https://docs.microsoft.com/en-us/Exchange/mail-flow/test-smtp-with-telnet?redirectedfrom=MSDN&view=exchserver-2019

Как устранить ошибку 451 4.4.395 Target host responded with error. -> 451 5.7.3 Cannot achieve Exchange Server authentication

Если ответ со звёздочками то это не правильный ответ. и если у вас cisco или asa  между сервером exchange и edge то посмотрите статью

тут

В общих словах

 Если у вас есть брандмауэры Cisco PIX между этими двумя почтовыми серверами (под управлением версии 6 или более ранней ), убедитесь, что исправление smtp отключено.

 Если у вас есть брандмауэры Cisco ASA между этими двумя почтовыми серверами, удалите Читать далее

Как исправить ошибку. 3адача сообщила об ошибке (0x80190194): Произошла неожиданная ошибка. Не обновляется адресная книга

Появилась ошибка 0x80190194 при обновлении адресной книга в аутлуке. Не обновляется Offline Address Book

У нас два сервера exchange 2016 настроены в DAG.

Диагностируем проблему

Запустил с клиента тест cntr+правой кнопкой по клиенту

Как исправить ошибку. 3адача сообщила об ошибке (0x80190194): Произошла неожиданная ошибка. Не обновляется адресная книга

 

Yf

 

Как исправить ошибку. 3адача сообщила об ошибке (0x80190194): Произошла неожиданная ошибка. Не обновляется адресная книга

Находим строчку

<OABUrl>https://mail.adminbd.ru/OAB/e593242-6577-43e3-43347-f6d3bc8f9365/</OABUrl>

Эта строчка отвечает за загрузку Offline Address Book.

Можно проверить доступ

https://mail.admindb.ru/OAB/e593242-6577-43e3-43347-f6d3bc8f9365/oab.xml

После авторизации должно выдать файл xml

Как исправить ошибку. 3адача сообщила об ошибке (0x80190194): Произошла неожиданная ошибка. Не обновляется адресная книга

Значит доступ есть. Если выдает 500 ошибку то нет прав на папке.

C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\OAB\e593242-6577-43e3-43347-f6d3bc8f9365

Добавляем права Authenticated Users на Read

Как исправить ошибку. 3адача сообщила об ошибке (0x80190194): Произошла неожиданная ошибка. Не обновляется адресная книга

У нас права стояли. Через web пускало.

PS. Перезапуск iis и службы MSExchangeMailboxAssistants не помогло.

Смотрим логи OABDownload

C:\Program Files\Microsoft\Exchange Server\V15\Logging\OABDownload

В … Читать далее

Как подключиться к почте Exchange через Powershell на другом сервере и создать почтовый ящик пользователю.

Выполняем команды в powershell для подключения к серверу Exchange.

$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://mxs01.admindb.ru/PowerShell/ -Authentication Kerberos -Credential $UserCredential
Import-PSSession $Session -DisableNameChecking

После когда поработали нужно отключиться.

Remove-PSSession $Session

Создать почтовый ящик командой

get-user -Identity d.pupkin | Enable-Mailbox -Database MSK06 -RetentionPolicy "Move to archive after 6 month"
get-user -Identity d.pupkin | Enable-Mailbox -ACrchive -ArchiveDatabase ARC02

 

Как отправлять через powershell пользователям письмо с просьбой о смене пароля т.к. срок пароля истекает.

Задача отправлять письмо о том что срок пароля подходит к концу. Сделали через powershell.

Import-Module ActiveDirectory

$OrgUnit 	= "OU=Locations,DC=adminbd,DC=RU"
$Sender = "helpdesk@adminbd.ru"
$smtpserver ="mail.adminbd.ru"

$warnDays = (get-date).adddays(10)
$2Day = get-date
$Users = Get-ADUser -SearchBase $OrgUnit -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} -Properties msDS-UserPasswordExpiryTimeComputed, EmailAddress, Name | select Name, @{Name ="ExpirationDate";Expression= {[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}, EmailAddress
#$Users = Get-ADUser -Identity aleksey.potapushkin -Properties msDS-UserPasswordExpiryTimeComputed, EmailAddress, Name | select Name, @{Name ="ExpirationDate";Expression= {[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}, EmailAddress
foreach ($user in $users) {
if (($user.ExpirationDate -lt $warnDays) -and ($2Day -lt $user.ExpirationDate) ) {
$lastdays = ( $user.ExpirationDate -$2Day).days
$Subject = 'Срок действия пароля Вашей учетной записи '+$user.EmailAddress+ ' 
Читать далее

Как очистить Recoverable Items. Проблема долгая обработки почты в exchange 2016.

Проблема. Есть софт DLP  для разбора всех писем организации. Включено журналирование на exchange 2016 в определённый ящик “securet”. Так вот он долга обрабатывает письма. Рвёт соединение по imap.  Пример:

2021-03-03 06:22:47,557 ERROR   [ImapConnector.cs:611.ProcessDataFromServerAsync] IMAP-подключение 1 (Imap): Cannot get and save message (ID: 1365556909:5301357): 
System.IO.IOException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed 
Читать далее