删除已终止用户的会议请求

时间:2013-01-25 15:28:59

标签: powershell exchange-server exchange-server-2010

需要一次删除所有会议室中已终止用户为多个已终止用户发出的会议请求。

下面是我为从所有会议室删除两个已终止用户的会议请求而构建的脚本。我使用OR运算符,如果我想删除两个终止用户的会议(种类:日历来自:sasi或Kalai)。如何一次添加两个以上的终止用户?我有超过500名终止用户从所有会议室删除他们的会议请求。

Write-Progress -Activity "Preparing" -Status "Retrieving mailbox list" -PercentComplete 0
$rooms=get-mailbox -recipienttypedetails roommailbox -resultsize unlimited -warningaction:silentlycontinue| where {$_.name -notlike "*test*"}

$count=$rooms.count

foreach($room in $rooms)

{


    $i=$i+1
    $percentage=$i/$count*100


    Write-Progress -Activity "Collecting mailbox details" -Status "Processing mailbox $i of $Count - $room" -PercentComplete $percentage

$room | search-mailbox -searchquery "kind:calendar from:sasi OR Kalai" -targetmailbox sankar_munirathinam@domain.com -targetfolder "Deleting Meeting" -deletecontent -force

}

2 个答案:

答案 0 :(得分:2)

因此,如果我理解上述内容,您可以执行以下操作吗?你可以采取" deletecontent -force"如果这只是调查?

Write-Progress -Activity "Preparing" -Status "Retrieving mailbox list" -PercentComplete 0
$rooms=get-mailbox -recipienttypedetails roommailbox -resultsize unlimited -    
warningaction:silentlycontinue| where {$_.name -notlike "*test*"}

$count=$rooms.count
$TerminatedUsers = Get-Content .\TerminatedUsersList.txt
foreach ($User in $TerminatedUsers) {
foreach($room in $rooms)

{


$i=$i+1
$percentage=$i/$count*100


Write-Progress -Activity "Collecting mailbox details" -Status "Processing mailbox $i of $Count -
$room" -PercentComplete $percentage

$room | search-mailbox -searchquery "kind:calendar from:$($user)" -targetmailbox    
administrator@domain.com -targetfolder "Deleting Meeting" -deletecontent -force

}
}

答案 1 :(得分:0)

我想我真的可以为你解答这个问题!我在堆栈上的第一个答案(我记得):)

您应该将已终止用户的用户名(或其他标识符)放在文本文件中,然后在行下方插入一个新行

$count=$rooms.count

$TerminatedUsers = Get-Content .\TerminatedUsersList.txt

然后添加另一行

foreach ($User in $TerminatedUsers) {

然后在脚本的最末端添加一个最后的大括号}

最后,将您的from:sasi OR Kalai更改为from:$($User)

这将遍历每个已终止的用户,并且对于每个用户,它将搜索所有会议室邮箱以进行会议。

我希望这对你有用。