Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 18.09.2017
Сообщений: 60

Старые ящики Exchange

05.10.2017, 14:12. Показов 5414. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Есть скрипт, который получает статистику последнего обращения к ящику Exchange 2010 и далее выводит дату создания и т.д.

PowerShell
1
2
3
$gms=Get-MailboxStatistics -server grmdb | Select-Object DisplayName, LastLogonTime | Where-Object {$_.Lastlogontime -lt (get-date).AddDays(-90) -and $_.Lastlogontime -gt (Get-Date).AddYears(-5)} 
 
$gms | ForEach-Object {Get-Mailbox $_.displayname} | Select-Object DistinguishedName, WhenCreated
Наблюдается проблема...

Когда выполняется командлет get-mailboxstatistics в полученном списке есть два ящика, которых уже не существует, но информация lastlogontime, видимо где то сохранилась.

Но ни учётки в АД ни ящика в Exchange нет, как так может быть??? Или как избавиться от этих записей?
Миниатюры
Старые ящики Exchange  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.10.2017, 14:12
Ответы с готовыми решениями:

Создать почтовые ящики Exchange тем у кого их пока нет
Доброго дня уважаемые Задача состоит из двух частей, выделить среди пользователей АД тех у кого еще нет почтовых ящиков и создать им...

Почтовые ящики
Можно ли сделать чтобы у одного person было 2 базы с почтой. На одну валились с одного адреса, на другой с другого ?

Разместить ящики в фуру
Привет. Есть такая задача, есть фура с размерами прицепа длинна х ширина х высота , и набор ящиков от 1 до 7 с размерами длинна х ширина х...

22
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
05.10.2017, 16:03
Цитата Сообщение от dan summer Посмотреть сообщение
Когда выполняется командлет get-mailboxstatistics в полученном списке есть два ящика, которых уже не существует
А вы скорректируйте скрипт, зайдя с другой стороны - сначала выбираете все существующие ПЯ, а затем проверяете их активность:

PowerShell
1
Get-Mailbox -server grmdb | Get-MailboxStatistics
Цитата Сообщение от dan summer Посмотреть сообщение
Но ни учётки в АД ни ящика в Exchange нет, как так может быть???
Тут два варианта: либо это магия, или просто удалённые ПЯ

PowerShell
1
Get-MailboxDatabase | Get-MailboxStatistics | ? { $_.DisconnectReason}  | ft DisplayName,DisconnectReason
0
0 / 0 / 0
Регистрация: 18.09.2017
Сообщений: 60
05.10.2017, 16:54  [ТС]
Цитата Сообщение от KDE777 Посмотреть сообщение
А вы скорректируйте скрипт, зайдя с другой стороны - сначала выбираете все существующие ПЯ, а затем проверяете их активность:
PowerShellВыделить код
1
Get-Mailbox -server grmdb | Get-MailboxStatistics
get-mailbox не выдаёт такой ящик из всего списка, его как бы нет вообще... нигде
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
05.10.2017, 17:29
Цитата Сообщение от dan summer Посмотреть сообщение
get-mailbox не выдаёт такой ящик из всего списка, его как бы нет вообще... нигде
Вы внимательно прочитали мой ответ??? Get-Mailbox выдаёт только действующие ПЯ, а Get-MailboxStatistics все, включая: отключенные, удалённые и т.п.

Поэтому я вам и предложил, если хотите разобраться только с действующими ПЯ, используйте: Get-Mailbox | Get-MailboxStatistics или Get-MailboxStatistics -server grmdb | ? {! $_.DisconnectReason}

Добавлено через 1 минуту
Цитата Сообщение от dan summer Посмотреть сообщение
Есть скрипт, который получает статистику последнего обращения к ящику Exchange 2010 и далее выводит дату создания и т.д.
Зачем в этом скрипте учитывать уже удалённые ПЯ?
0
0 / 0 / 0
Регистрация: 18.09.2017
Сообщений: 60
05.10.2017, 17:41  [ТС]
мне и нужна статистика по не отключенным ящикам и не удалённым ящикам, что и делается в скрипте, ящики которые не использовались более 90 дней, чтобы в дальнейшим с ними разобраться...

Цитата Сообщение от KDE777 Посмотреть сообщение
Зачем в этом скрипте учитывать уже удалённые ПЯ?
Где я учитываю удалённые???

Я как раз не хочу их учитывать, но они как в первом моём скрине где-то присутствуют, по крайней мере информация lastlogontime где то записана...
Я хочу понять где? ибо ни ящик ни учётку в АД найти не могу. также get-mailbox не выводит ничего и get-mailboxstatistics тоже не выводит, если не указать lastlogontime
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
05.10.2017, 18:50
Цитата Сообщение от dan summer Посмотреть сообщение
Где я учитываю удалённые???
Попытка №3 - Get-Mailbox выдаёт только действующие ПЯ, а Get-MailboxStatistics все, включая: отключенные, удалённые и т.п.

Неужели так сложно проверить???

PowerShell
1
Get-MailboxStatistics -server grmdb | ?{$_.DisplayName -match 'Михайлова Елена Алексеевна'} | fl DisplayName,DisconnectReason
Цитата Сообщение от dan summer Посмотреть сообщение
мне и нужна статистика по не отключенным ящикам и не удалённым ящикам, что и делается в скрипте,
Нет в вашем скрипте это не делается. А я уже дважды показал вам, как выбрать только действующие ПЯ...

Вот 3-й вариант в одну строчку, и даже без foreach:

PowerShell
1
Get-Mailbox -server grmdb | Get-MailboxStatistics | ? {$_.Lastlogontime -lt (get-date).AddDays(-90) -and $_.Lastlogontime -gt (Get-Date).AddYears(-5)} | Get-Mailbox | select DistinguishedName, WhenCreated
0
0 / 0 / 0
Регистрация: 18.09.2017
Сообщений: 60
05.10.2017, 19:00  [ТС]
ды ок, но ящиков как на скрине два и их нет нигде, они удалены давно и не должно быть никаких следов, откуда они берутся?? вопрос не в том, что командлет возвращает, а почему он возвращает ящик которого нет?????

ваш вариант номер три слишком долго отрбатывает...
Миниатюры
Старые ящики Exchange  
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
06.10.2017, 10:37
Цитата Сообщение от dan summer Посмотреть сообщение
ды ок, но ящиков как на скрине два
Я ранее вам показывал фильтр, он находит оба этих ящика?

PowerShell
1
Get-MailboxStatistics -server grmdb | ? { $_.DisconnectReason}  | ft DisplayName,DisconnectReason
Цитата Сообщение от dan summer Посмотреть сообщение
ваш вариант номер три слишком долго отрбатывает...
Зато, во первых без ошибок, а во вторых были ещё варианты в ответах #2 и #4, на которые вы почему-то не захотели обращать внимания.

Вот вариант на основе предложенного ранее Get-MailboxStatistics | ? {!$_.DisconnectReason}, который работает быстрее:

PowerShell
1
Get-MailboxStatistics -Server $server | ? {!$_.DisconnectReason -and $_.DisplayName -notmatch 'HealthMailbox'} | ? {$_.Lastlogontime -lt (get-date).AddDays(-90) -and $_.Lastlogontime -gt (Get-Date).AddYears(-5)} | Get-Mailbox | ft DistinguishedName,WhenCreated
Цитата Сообщение от dan summer Посмотреть сообщение
вопрос не в том, что командлет возвращает, а почему он возвращает ящик которого нет?????
Если Get-MailboxStatistics возвращает, значит уже очевидно, что говорить "ящик которого нет" нельзя. Вы в курсе как работают remove-mailbox, disable-mailbox? Что происходит с ПЯ, если просто средствами AD удалить пользователя? А ещё, что означает свойство MailboxRetention у почтовых баз?

PowerShell
1
Get-MailboxDatabase (Get-MailboxStatistics -server grmdb | ?{$_.DisplayName -match 'Михайлова Елена Алексеевна'}).Database | fl Name,MailboxRetention
И ещё один нюанс использования Get-MailboxStatistics - этот командлет вернёт помимо удалённых ещё и Arbitration ПЯ, которые, например Get-Mailbox без ключа -Arbitration не выводит...
0
0 / 0 / 0
Регистрация: 18.09.2017
Сообщений: 60
06.10.2017, 14:37  [ТС]
Мы говорим о разном...

Предположим, что ящиков отключеных нет в организации вообще!

Цитата Сообщение от KDE777 Посмотреть сообщение
Я ранее вам показывал фильтр, он находит оба этих ящика?
PowerShellВыделить код
1
Get-MailboxStatistics -server grmdb | ? { $_.DisconnectReason} *| ft DisplayName,DisconnectReason
Нет, не находит! он находит только отключенные ящики, которые также как я ранее говорил не включаются в список при выполнении моего командлета, там только включенные ящики к которым обращались последний раз 90 дней назад!

PowerShell
1
$gms=Get-MailboxStatistics -server grmdb | Select-Object DisplayName, LastLogonTime | Where-Object {$_.Lastlogontime -lt (get-date).AddDays(-90) -and $_.Lastlogontime -gt (Get-Date).AddYears(-5)}
Поэтому я и говорю что я не ищу отключенные ящики при выполнении этого командлета, но туда попадают почему то два ящика, которые давно удалены и не отключены, а (стёрты - уничтожены - удалены, без возможности восстановления) но информацию по lastlogontime где то осталась, так вот я и хочу понять где, либо избавиться от нее, а скрипт должен работать так!


Цитата Сообщение от KDE777 Посмотреть сообщение
Зато, во первых без ошибок, а во вторых были ещё варианты в ответах #2 и #4, на которые вы почему-то не захотели обращать внимания.
Вот вариант на основе предложенного ранее Get-MailboxStatistics | ? {!$_.DisconnectReason}, который работает быстрее:
PowerShellВыделить код
1
Get-MailboxStatistics -Server $server | ? {!$_.DisconnectReason -and $_.DisplayName -notmatch 'HealthMailbox'} | ? {$_.Lastlogontime -lt (get-date).AddDays(-90) -and $_.Lastlogontime -gt (Get-Date).AddYears(-5)} | Get-Mailbox | ft DistinguishedName,WhenCreated

в этом варианте всё равно присутствуют эти ящкии которых нет... скрин приложил, как их убрать? вопрос все тот же..


Цитата Сообщение от KDE777 Посмотреть сообщение
сли Get-MailboxStatistics возвращает, значит уже очевидно, что говорить "ящик которого нет" нельзя. Вы в курсе как работают remove-mailbox, disable-mailbox? Что происходит с ПЯ, если просто средствами AD удалить пользователя? А ещё, что означает свойство MailboxRetention у почтовых баз?
PowerShellВыделить код
1
Get-MailboxDatabase (Get-MailboxStatistics -server grmdb | ?{$_.DisplayName -match 'Михайлова Елена Алексеевна'}).Database | fl Name,MailboxRetention
И ещё один нюанс использования Get-MailboxStatistics - этот командлет вернёт помимо удалённых ещё и Arbitration ПЯ, которые, например Get-Mailbox без ключа -Arbitration не выводит...
Удалял эти ящики не я и не средствами Powershell, и не через АД, а по всей видимости через оснастку Exchange.
Миниатюры
Старые ящики Exchange  
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
06.10.2017, 15:27
Цитата Сообщение от dan summer Посмотреть сообщение
в этом варианте всё равно присутствуют эти ящкии которых нет... скрин приложил, как их убрать?
Сначала у вас на скриншоте, в сообщение об ошибки было ФИО (Михайлова ...), а теперь GUID...

Вот так что-то находится?

PowerShell
1
2
3
4
5
6
$server = 'grmdb'
foreach ($item in Get-MailboxStatistics -Server $server | ? {!$_.DisconnectReason} | ? {$_.Lastlogontime -lt (get-date).AddDays(-90) -and $_.Lastlogontime -gt (Get-Date).AddYears(-5)})
{
  try{$item | Get-Mailbox -ErrorAction Stop | Out-Null}
  catch {$item | fl DisplayName,Database; Get-Mailbox $item -Monitoring}
}
Цитата Сообщение от dan summer Посмотреть сообщение
Удалял эти ящики не я и не средствами Powershell, и не через АД, а по всей видимости через оснастку Exchange.
Внезапно, но оснастка Exchange все операции выполняет также средствами Powershell командлетов, в чём легко убедиться заглянув в "View Exchange Management Log" или воспользовавшись кнопкой "Show Exchange Management Shell Command".
0
0 / 0 / 0
Регистрация: 18.09.2017
Сообщений: 60
06.10.2017, 15:44  [ТС]
Цитата Сообщение от KDE777 Посмотреть сообщение
Сообщение от dan summer
в этом варианте всё равно присутствуют эти ящкии которых нет... скрин приложил, как их убрать?
Сначала у вас на скриншоте, в сообщение об ошибки было ФИО (Михайлова ...), а теперь GUID...

GUID он выдал по вашему варианту:

PowerShell
1
Get-MailboxStatistics -Server grmdb | ? {!$_.DisconnectReason -and $_.DisplayName -notmatch 'HealthMailbox'} | ? {$_.Lastlogontime -lt (get-date).AddDays(-90) -and $_.Lastlogontime -gt (Get-Date).AddYears(-5)} | Get-Mailbox | ft DistinguishedName,WhenCreated
Цитата Сообщение от KDE777 Посмотреть сообщение
Вот так что-то находится?
Таже ошибка, скрин приложил.

Через try catch можно было бы обработать ошибку, если бы этот ящик был бы отключен хотя-бы, но его же ни где нет...

Цитата Сообщение от KDE777 Посмотреть сообщение
Внезапно, но оснастка Exchange все операции выполняет также средствами Powershell командлетов, в чём легко убедиться заглянув в "View Exchange Management Log" или воспользовавшись кнопкой "Show Exchange Management Shell Command".
Я в курсе, я к тому, что может быть они были удалены как то неправильно, может быть сначала была удалена учётка из АД или еще как то, этого уже никто не знает.
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
06.10.2017, 15:53
Цитата Сообщение от dan summer Посмотреть сообщение
Таже ошибка, скрин приложил.
Скрина не вижу...

Цитата Сообщение от dan summer Посмотреть сообщение
Через try catch можно было бы обработать ошибку, если бы этот ящик был бы отключен хотя-бы, но его же ни где нет...
Опять нигде нет... В любом случае должно было отработать: $item | fl DisplayName,Database

Вот так тоже ошибки?

PowerShell
1
2
3
4
5
6
$server = 'grmdb'
foreach ($item in Get-MailboxStatistics -Server $server | ? {!$_.DisconnectReason} | ? {$_.Lastlogontime -lt (get-date).AddDays(-90) -and $_.Lastlogontime -gt (Get-Date).AddYears(-5)})
{
  try{$item | Get-Mailbox -ErrorAction Stop | Out-Null}
  catch {$item | fl *}
}
Цитата Сообщение от dan summer Посмотреть сообщение
GUID он выдал по вашему варианту
Ок, тогда вы не ответили, что выдаёт:

PowerShell
1
Get-MailboxStatistics -server grmdb | ?{$_.DisplayName -match 'Михайлова Елена Алексеевна'} | fl *
0
0 / 0 / 0
Регистрация: 18.09.2017
Сообщений: 60
06.10.2017, 18:47  [ТС]
Цитата Сообщение от KDE777 Посмотреть сообщение
Ок, тогда вы не ответили, что выдаёт:
PowerShellВыделить код
1
Get-MailboxStatistics -server grmdb | ?{$_.DisplayName -match 'Михайлова Елена Алексеевна'} | fl *
выдаёт что ящик есть и вся инфа по нему два раза и disconnectreason disabled

по второму ящику тоже выдает через этот командлет, только disconnetcreason пусто

Где они? как мне их убить полностью?
я пробовал и remove-mailbox и removestoremailbox но их нет и удалять нечего или я чего то не понимаю..
Миниатюры
Старые ящики Exchange  
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
09.10.2017, 09:53
Цитата Сообщение от dan summer Посмотреть сообщение
и disconnectreason disabled
Возвращаемся к моему ответу #2 - ПЯ 'Михайлова Елена Алексеевна', обыкновенный удалённый ящик.

Цитата Сообщение от dan summer Посмотреть сообщение
Где они?
Там же, где и остальные ПЯ:

PowerShell
1
Get-MailboxDatabase (Get-MailboxStatistics -server grmdb | ?{$_.DisplayName -match 'Михайлова Елена Алексеевна'}).Database
Цитата Сообщение от dan summer Посмотреть сообщение
как мне их убить полностью?
Вот дата, когда ПЯ 'Михайлова...' будет удалён автоматически:

PowerShell
1
((Get-MailboxStatistics -server 'grmdb' | ?{$_.DisplayName -match 'Михайлова Елена Алексеевна'}).DisconnectDate).AddDays((Get-MailboxDatabase (Get-MailboxStatistics -server 'grmdb' | ?{$_.DisplayName -match 'Михайлова Елена Алексеевна'}).Database).MailboxRetention.Days)
Остался вопрос с ПЯ, у которого Get-Mailbox, в сообщение об ошибке отображает только ID. Что бы разобраться с ним, крайне желательно узнать DisplayName. Про отображаемое имя этого ПЯ я уже спрашивал, но вместо ответа сплошные - "но его же ни где нет..."

PowerShell
1
2
3
4
5
6
$server = 'grmdb'
foreach ($item in Get-MailboxStatistics -Server $server | ? {!$_.DisconnectReason} | ? {$_.Lastlogontime -lt (get-date).AddDays(-90) -and $_.Lastlogontime -gt (Get-Date).AddYears(-5)})
{
  try{$item | Get-Mailbox -ErrorAction Stop | Out-Null}
  catch {$item | fl Identity,DisplayName,Database}
}
0
0 / 0 / 0
Регистрация: 18.09.2017
Сообщений: 60
09.10.2017, 11:24  [ТС]
Я честно говоря уже ни черта не понимаю...

Во вашим двум командлетам приложил скрин. дата отключения 19 сентября? не может быть...

Я могу как то вообще избавиться от этой записи? если это просто удалённый ящик? В списке всех отключенных его не вижу.

Цитата Сообщение от KDE777 Посмотреть сообщение
Остался вопрос с ПЯ, у которого Get-Mailbox, в сообщение об ошибке отображает только ID. Что бы разобраться с ним, крайне желательно узнать DisplayName. Про отображаемое имя этого ПЯ я уже спрашивал, но вместо ответа сплошные - "но его же ни где нет..."
Я уже прикладывал ранее displayname выше.

'Серверный архив - Федоренко Дмитрий Борисович'
Миниатюры
Старые ящики Exchange  
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
09.10.2017, 12:30
Цитата Сообщение от dan summer Посмотреть сообщение
Во вашим двум командлетам приложил скрин. дата отключения 19 сентября? не может быть...
Судя по ошибки у вас несколько ПЯ с отображаемым именем 'Михайлова Елена Алексеевна', тогда надо проверить каждый:

PowerShell
1
2
3
4
5
6
7
8
9
10
11
$server = 'grmdb'
$user = 'Михайлова Елена Алексеевна'
cls
foreach ($stat in Get-MailboxStatistics -server $server | ?{$_.DisplayName -match $user})
{
    $stat | fl DisplayName,Identity,DisconnectReason,DisconnectDate,Database
    if ($stat.DisconnectDate)
    {
        Write-Host 'Дата окончательного удаления:' $stat.DisconnectDate.AddDays((Get-MailboxDatabase $stat.Database).MailboxRetention.Days)
    }
}
Цитата Сообщение от dan summer Посмотреть сообщение
Я уже прикладывал ранее displayname выше.
'Серверный архив - Федоренко Дмитрий Борисович'
Ок, что из этих свойств выдаёт MailboxStatistics?

PowerShell
1
Get-MailboxStatistics -server 'grmdb' | ?{$_.DisplayName -match 'Серверный архив - Федоренко Дмитрий Борисович'} | fl DisplayName,Identity,DisconnectReason,DisconnectDate,Database
Цитата Сообщение от dan summer Посмотреть сообщение
Я могу как то вообще избавиться от этой записи? если это просто удалённый ящик? В списке всех отключенных его не вижу.
А прислушаться к моему первому ответу вы всё-таки не хотите? Зачем сначала использовать Get-MailboxStatistics, который выводит данные про не интересующие вас ПЯ (удалённые, отключенные, Monitoring, Arbitration и т.п.)? Когда есть Get-Mailbox, который выводит только ПЯ пользователей...

Но если очень хотите немедленно удалить ПЯ, то делается это так:

PowerShell
1
2
3
4
5
Disable-Mailbox -Identity $MailboxGuid
Start-Sleep -Seconds 15
Clean-MailboxDatabase -Identity $MDB
Start-Sleep -Seconds 15
Remove-Mailbox -Database $MDB -StoreMailboxIdentity $MailboxGuid
1. Для уже отключенных ПЯ Disable-Mailbox выполнять не нужно
2. Когда в следующий раз, стандартными средствами удалят ПЯ, Get-MailboxStatistics опять найдёт такие объекты.
3. Надеюсь вы хорошо подумаете перед выполнением этих действий, т.к. для чего то MailboxRetention у ваших почтовых баз всё-таки настроен...
0
0 / 0 / 0
Регистрация: 18.09.2017
Сообщений: 60
09.10.2017, 13:47  [ТС]
Цитата Сообщение от KDE777 Посмотреть сообщение
Судя по ошибки у вас несколько ПЯ с отображаемым именем 'Михайлова Елена Алексеевна', тогда надо проверить каждый:
Приложил скрин...

Цитата Сообщение от KDE777 Посмотреть сообщение
Ок, что из этих свойств выдаёт MailboxStatistics?
Приложил скрин...


Цитата Сообщение от KDE777 Посмотреть сообщение
А прислушаться к моему первому ответу вы всё-таки не хотите? Зачем сначала использовать Get-MailboxStatistics, который выводит данные про не интересующие вас ПЯ (удалённые, отключенные, Monitoring, Arbitration и т.п.)? Когда есть Get-Mailbox, который выводит только ПЯ пользователей...
Не хотим)) Ящиков слишком большое количество, проще удалить эти старые записи, только вот clean-mailboxdatabase и remove-mailbox я делал и это не помогает...


Я и пытаюсь понять как от них избавиться и надо понять почему записи есть а больше ничего нет...

Цитата Сообщение от KDE777 Посмотреть сообщение
Надеюсь вы хорошо подумаете перед выполнением этих действий, т.к. для чего то MailboxRetention у ваших почтовых баз всё-таки настроен...
Этим не я занимался...
Миниатюры
Старые ящики Exchange   Старые ящики Exchange  
0
0 / 0 / 0
Регистрация: 18.09.2017
Сообщений: 60
09.10.2017, 14:16  [ТС]
с ящиком серверный архив разобрался и он удалился...

с Михайловой пока не понятно...

Добавлено через 11 минут
Всё, удалил оба ящика, второй видимо задваивался..

Спасибо!
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
09.10.2017, 14:48
Цитата Сообщение от dan summer Посмотреть сообщение
Приложил скрин...
Я правильно понял, что у вас время хранения удалённых ящиков 0 дней?

PowerShell
1
(Get-MailboxDatabase 'MailBox GRMdb_Msk').MailboxRetention.Days
Но судя по наличию ящиков удалённых 19 сентября и 4 октября, у вас не работает механизм автоочистки почтовой базы (например, не успевает уложиться в окно отведённое на обслуживание базы).

Цитата Сообщение от dan summer Посмотреть сообщение
clean-mailboxdatabase и remove-mailbox я делал и это не помогает...
Запустите первый раз до строчки 'Проверка', а затем, если действительно хотите безвозвратно очистить базу от всех перечисленных ПЯ уберите -WhatIf и выполните скрипт повторно:

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$server = 'grmdb'
cls
foreach ($stat in Get-MailboxStatistics -server $server | ?{$_.DisconnectReason})
{
    
    $stat | fl DisplayName,Identity,DisconnectReason,DisconnectDate,Database
 
    switch ($stat.DisconnectReason)
    {
        'Disabled'    {Remove-StoreMailbox -Database $stat.Database -Identity $stat.MailboxGuid -MailboxState Disabled -Confirm:$false -WhatIf}
        'SoftDeleted' {Remove-StoreMailbox -Database $stat.Database -Identity $stat.MailboxGuid -MailboxState SoftDeleted -Confirm:$false -WhatIf}
    }
        
}
 
Start-Sleep -Seconds 30
 
"Проверка:"
Get-MailboxStatistics -server $server | ?{$_.DisconnectReason} | fl DisplayName,Identity,DisconnectReason,DisconnectDate,Database
После такого скрипта, у ПЯ 'Серверный архив - Федоренко Дмитрий Борисович' появляется статус DisconnectReason?

PowerShell
1
2
3
Clean-MailboxDatabase -Identity 'MailBox GRMdb_Msk'
Start-Sleep -Seconds 30
Get-MailboxStatistics -server 'grmdb' | ?{$_.DisplayName -match 'Серверный архив - Федоренко Дмитрий Борисович'} | fl DisplayName,Identity,DisconnectReason,DisconnectDate,Database
Цитата Сообщение от dan summer Посмотреть сообщение
Не хотим)) Ящиков слишком большое количество
Тогда я уже предлагал вам вариант исключающий отключенные ПЯ - Get-MailboxStatistics -server grmdb | ? {! $_.DisconnectReason}

Добавлено через 4 минуты
Цитата Сообщение от dan summer Посмотреть сообщение
Всё, удалил оба ящика, второй видимо задваивался..
Судя по скрину из сообщения #17 это были два разных ящика, т.к. MailboxGuid'ы у них были разные.

Цитата Сообщение от dan summer Посмотреть сообщение
с ящиком серверный архив разобрался и он удалился...
А теперь посчитайте сколько раз перед этим вы написали, что этих ящиков нигде нет
0
0 / 0 / 0
Регистрация: 18.09.2017
Сообщений: 60
09.10.2017, 16:25  [ТС]
Уже не актуально)) я удалил все записи ненужные

Пришлось покрутиться чтобы понять как настроен тут exchange который достался по наследству мне
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.10.2017, 16:25
Помогаю со студенческими работами здесь

задачка про ящики
Имеется 8 ящиков у всех вес по 2 кг, а у одного 1 кг, записать это все в массив и определить в каком по номеру элементе массива содержится...

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

Почтовые ящики(mailslot)
Подскажите как сделать этот почтовый ящик? то есть тот ящик который нужен для обмена сообщениями процессов? какие классы и т.д для...

Бан за спам на постовые ящики
Мои контентные сайты начали приносить небольшой доход с адсенса. ) Оказалось, что у меня нашелся довольно дешевый доступ к спам...

Арканоид. Удаляются все ящики в линии i
for (int i = 0; i < 3; i++) { for (int j = 0; j < 15; j++) { if...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru