如何更改Get-Mailbox输出

时间:2014-04-21 23:19:42

标签: powershell-v2.0 powershell-ise

我提前道歉,因为我仍然是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输出,我只想替换标题下的内容。

谢谢!

1 个答案:

答案 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;