我提前道歉,因为我仍然是PowerShell的新手。我一直在搞清楚事情,但这个具体问题让我感到难过。目前,这是在2007年交易所上的powershell 2.0。
我正在尝试添加到我编写的脚本中,该脚本显示了我们的交换帐户的基本信息。这只是一个小工具,可以引入我们的服务台,以帮助快速了解用户帐户的内容。我有一切工作,但是,我想改变显示的内容。例如,我有:
Get-Mailbox $username | ft @{label="Hidden from GAL"; expression= {$_.HiddenFromAddressListsEnabled}}, @{label="Restricted Delivery"; expression={$_.AcceptMessagesOnlyFrom}} -auto | out-string;
对于隐藏的地址列表,最终返回true / false,但对于Accept Messages,如果禁用,则返回" {}" (没有引号)。如果已启用,则会显示完整的组名称(沿admin.local / groupname行)。我只想将{}更改为已禁用,而不是显示组名,只需显示"已启用"
我尝试了if / then语句,然后尝试将变量" messRestrict"在上面的接受消息的表达式,然后是函数名称,但都没有工作。他们刚刚返回空白值或总是说'#34;是真的。"这是功能:
function restricted {
$accept = Get-Mailbox $username | AcceptMessagesOnlyFrom | select -expand Priority
#if ($accept -match "\s")
#{$messRestrict="False"};
#else
#{$messRestrict="True"};
}
输出是标准的Get-Mailbox输出,我只想替换标题下的内容。
谢谢!
答案 0 :(得分:1)
你可以试试这个:
@{label="Restricted Delivery"; expression={if($_.AcceptMessagesOnlyFrom){"Enabled"}else{"Disabled"}}}
它给出了:
Get-Mailbox $username | ft @{label="Hidden from GAL"; expression= {$_.HiddenFromAddressListsEnabled}}, @{label="Restricted Delivery"; expression={if($_.AcceptMessagesOnlyFrom){"Enabled"}else{"Disabled"}}} -auto | out-string;