【问题标题】:Using PoSH to get a value, strange results使用PoSH取值,奇怪的结果
【发布时间】:2017-10-06 18:39:57
【问题描述】:

我正在使用 PoSH 查询我们的 Exchange 服务器以返回用户最大的邮箱。

我的 PoSH 是:

$test = Get-MailboxDatabase MBX_* -Status | select Name,@{Name="NumberofUsers";Expression={(Get-Mailbox -resultsize unlimited -Database $_.name).Count}} | Sort -Property NumberofUsers | Select Name -First 1

这在控制台中有效并返回:

Name
----
MBX_2

但是,当我在脚本中这样运行它并返回值时,它是这样的:

$test = Get-MailboxDatabase -Status MBX_*| select Name,@{Name="NumberofUsers";Expression={(Get-Mailbox -resultsize unlimited -Database $_.name).Count}} | Sort -Property NumberofUsers | Select Name -First 1
Write-Host "Using $test"

Using @<Name=MBX_2>

为什么它包含@&lt;Name=&gt; 字符,我该如何防止它这样做?我需要能够为我的脚本的下一部分获取“MBX_2”的返回值,但我对如何处理这个问题感到困惑......

【问题讨论】:

    标签: powershell exchange-server


    【解决方案1】:

    您正在选择对象的单个属性,但仍传递一个对象。您需要做的是使用Select-Object cmdlet 的-ExpandProperty 参数。将您的 Select 命令更改为:

    | Select -ExpandProperty Name -First 1
    

    这应该会给你想要的结果。

    【讨论】:

      猜你喜欢
      • 2010-09-14
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-10
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      相关资源
      最近更新 更多