Powershell 将if条件添加到get mailbox命令中
我有一个PowerShell脚本来显示哪些邮箱没有应用Exchange保留策略。该脚本运行良好,但我不知道如何添加Powershell 将if条件添加到get mailbox命令中,powershell,exchange-server-2010,Powershell,Exchange Server 2010,我有一个PowerShell脚本来显示哪些邮箱没有应用Exchange保留策略。该脚本运行良好,但我不知道如何添加if条件,即如果所有邮箱都应用了保留策略,则将以下语句“应用于所有邮箱的主策略”添加到文本文件中 Get-Mailbox -OrganizationalUnit "Users*" -ResultSize Unlimited -filter {RetentionPolicy -eq $null} | where {$_.RecipientTypeDetails -eq 'UserM
if
条件,即如果所有邮箱都应用了保留策略,则将以下语句“应用于所有邮箱的主策略”添加到文本文件中
Get-Mailbox -OrganizationalUnit "Users*" -ResultSize Unlimited -filter {RetentionPolicy -eq $null} |
where {$_.RecipientTypeDetails -eq 'UserMailbox'} |
select Alias > c:\retention.txt
在变量中收集
Get Mailbox
的结果:
$mailboxes = Get-Mailbox -OrganizationalUnit "Users*" -ResultSize Unlimited `
-Filter {RetentionPolicy -eq $null} |
? {$_.RecipientTypeDetails -eq 'UserMailbox'} | select Alias
然后检查结果是否为$null
(未找到匹配项),并相应地创建输出:
$outfile = 'C:\retention.txt'
if ($mailboxes -ne $null) {
$mailboxes > $outfile
} else {
'Master Policy applied to all Mailboxes' > $outfile
}
如果要附加到文件中,请将
替换为
。您应该对问题应用代码样式谢谢您的回答。我理解逻辑,但我似乎无法回避错误“找不到接受参数$null的位置参数”。忽略。我让它工作了。我的剧本里有一个额外的“我的”字。谢谢你的帮助。