Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 将if条件添加到get mailbox命令中_Powershell_Exchange Server 2010 - Fatal编程技术网

Powershell 将if条件添加到get mailbox命令中

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

我有一个PowerShell脚本来显示哪些邮箱没有应用Exchange保留策略。该脚本运行良好,但我不知道如何添加
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的位置参数”。忽略。我让它工作了。我的剧本里有一个额外的“我的”字。谢谢你的帮助。