Удалить-Inboxrule с Ruleidentity - PullRequest
0 голосов
/ 02 марта 2020

Я закончил запуск сценария, который удалил около 10 000 правил входящих сообщений из домена клиента. Во время работы я заметил, что у меня есть некоторые ошибки:

Операция не может быть выполнена, потому что 'x' соответствует нескольким записям.

У меня фактически была эта ошибка 50 раз в общей сложности. Я все еще хотел бы удалить их, просматривая это более внимательно. Я вижу, что у них есть свои уникальные RuleIdentity

. Есть ли способ удалить правила входящих сообщений с помощью RuleIdentity?

get-InboxRule -Identity "Name1" -Mailbox e@mail.com

Пример данных

Name                            Enabled Priority RuleIdentity       
----                            ------- -------- ------------       
Name1                           True    1        1234567890
Name1                           True    13       0987654321

Когда я специально собираюсь удалить их, я буду использовать:

remove-InboxRule -Identity "Name1" -Mailbox E@mail.com

Но это приведет к той же ошибке курса

Операция не может быть выполнена, поскольку 'Name1' соответствует нескольким записям.

Возможно, я смотрю на это неправильно, так что, возможно, есть более очевидный способ решения этой проблемы?

1 Ответ

0 голосов
/ 02 марта 2020

Согласно документам , вы можете передать результат Get-InboxRule командлету Remove-InboxRule:

Get-InboxRule -Identity "Name1" -Mailbox e@mail.com | Remove-InboxRule

Имя правила может быть таким же, но RuleIdentity - это не то, и это то, что Remove-InboxRule использует, когда ввод поступает через конвейер.

Менее кратким способом было бы l oop над объектами, возвращаемыми из Get-InboxRule, и удалять каждый используя свойство RuleIdentity:

Get-InboxRule -Identity "Name1" -Mailbox e@mail.com | ForEach-Object {
    Remove-InboxRule -Identity $_.RuleIdentity -Mailbox e@mail.com
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...