Массовое удаление почтовых ящиков с помощью PowerShell - Exchange 2016 - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь удалить более 100 почтовых ящиков с нашего сервера Exchange, размещенного в облаке, с помощью PowerShell, но постоянно получаю эту ошибку:

Операция не может быть выполнена, потому что объект "..." не можетбыть найденным в '...'

Пробелы, очевидно, являются объектом из массива и нашего сервера Exchange.Я извлекаю объекты (я пробовал как адреса электронной почты, так и отображаемые имена) из файла .csv с заголовком «почтовый ящик».Я использовал Disable-Mailbox и Remove-Mailbox, но безрезультатно.

Вот мой сценарий:

Import-Csv "C:\temp\array.csv" | ForEach-Object {
    Remove-Mailbox -identity $_.mailbox -confirm:$false
}

Я весь день гуглю и не могу найтипричина, по которой эти объекты, которые фактически являются почтовыми ящиками в нашей среде Exchange, не могут быть найдены.

1 Ответ

0 голосов
/ 05 декабря 2018

Я предполагаю, что ваш CSV-столбец mailbox не соответствует identity почтового ящика

Вы можете использовать условия, чтобы убедиться, что вы запускаете Remove-mailbox нафактический почтовый ящик:

#assuming that "array.csv" has a column named mailbox
Import-Csv "C:\temp\array.csv" | ForEach-Object {
    if((Get-Mailbox -Identity $_.Alias | Measure).Count -eq 1)
    {
        Write-Host "Removing "$_.mailbox -ForegroundColor Green
        Remove-Mailbox -Identity $_.mailbox -Confirm:$false #Here you should add -Whatif before running
    }
    else
    {
        Write-Host $_.mailbox " not found or not unique" -ForegroundColor Yellow
    }

}

Или, если вы уверены, что ваш запрос верен, вы можете проигнорировать ошибку, придерживаясь исходного сценария и введя и -ErrorAction на Remove-Mailbox

Пример:

Import-Csv "C:\temp\array.csv" | ForEach-Object {
    Remove-Mailbox -identity $_.mailbox -confirm:$false -ErrorAction SilentlyContinue
}

Чтобы проверить, соответствует ли столбец csv mailbox почтовому ящику identity, вы можете запустить простой Get-Mailbox:

Import-Csv "C:\temp\array.csv" | ForEach-Object {
    Get-Mailbox -identity $_.mailbox 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...