Powershell 正在检查邮箱属性并在为null时添加值
我要检查组织中所有邮箱的属性;如果该值为空,那么我想添加一个属性电子邮件地址Powershell 正在检查邮箱属性并在为null时添加值,powershell,exchange-server,Powershell,Exchange Server,我要检查组织中所有邮箱的属性;如果该值为空,那么我想添加一个属性电子邮件地址 get-mailbox -Organization test.me.net | if (-ForwardingSmtpAddress -eq {}) { Set-Mailbox -DeliverToMailboxAndForward $true -ForwardingSmtpAddress admin@test.me.net } 我收到的错误消息是 术语“if”不能识别为cmdlet、函数、脚本文件或可操作程序的名称
get-mailbox -Organization test.me.net |
if (-ForwardingSmtpAddress -eq {})
{
Set-Mailbox -DeliverToMailboxAndForward $true -ForwardingSmtpAddress admin@test.me.net
}
我收到的错误消息是
术语“if”不能识别为cmdlet、函数、脚本文件或可操作程序的名称。检查拼写
如果包含名称或路径,请验证路径是否正确,然后重试。
在C:\Scripts\smtpaddress.ps1:2 char:3
+if您可以在每个if上执行if,如果您将其输送到a For each,如下所示:
get-mailbox | % {
if ($_.ForwardingSmtpAddress -eq {})
{
*Do something*
}
}
但您可能只需要使用过滤器并将结果导入一个set mailbox命令,问号表示Where Object:
get-mailbox | ? {$_.ForwardingSMTPAddress -eq {}} | Set-Mailbox......
使用Filter参数获取ForwardingSmtpAddress属性中没有值的邮箱,将结果传输到Ste Mailbox并设置DeliverToMailboxAndForward和ForwardingSmtpAddress参数。请记住,所有邮箱都会将电子邮件转发到管理员邮箱:
Get-Mailbox -ResultSize Unlimited -OrganizationalUnit me.net/test -Filter {ForwardingSmtpAddress -eq $null} | Set-Mailbox -DeliverToMailboxAndForward $true -ForwardingSmtpAddress admin@test.me.net
我编写了一个脚本,为那些没有申请的人启用保留策略 获取邮箱-filter{retentionpolicy-eq$null}设置邮箱-retentionpolicy 120day保留策略
工作起来很有魅力。多亏了谢伊,只是一个用a代替a的打字错误;太棒了!!: