【问题标题】:PowerShell using object after other pipesPowerShell 在其他管道之后使用对象
【发布时间】:2017-09-01 02:32:39
【问题描述】:

首先,我曾涉足 PowerShell,但除了简单的命令外,我不会称自己流利。

我想要实现的是使用第一个 cmdlet 中的一个对象,该命令中有几个管道。

这是命令,我从View Mailbox Sizes and Mailbox Quotas Using Windows PowerShell 得到的,它有效。

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | where {$_.StorageLimitStatus -notlike "BelowLimit*"} | Select DisplayName,StorageLimitStatus,@{name="TotalItemSize (MB)";expression={[math]::Round((($_.TotalItemSize.Value.ToString()).Split("(")[1].Split(" ")[0].Replace(",","")/1MB),2)}},@{name="TotalDeletedItemSize (MB)";expression={[math]::Round((($_.TotalDeletedItemSize.Value.ToString()).Split("(")[1].Split(" ")[0].Replace(",","")/1MB),2)}},ItemCount,DeletedItemCount | Sort "TotalItemSize (MB)" -Descending | Export-CSV "C:\My Documents\Exceeded Quotas.csv" -NoTypeInformation

我想为返回的邮箱添加设置配额,这些对象名为 ProhibitSendQuota、ProhibitReceiveQuota 和 IssueWarningQuota。当我将这些对象添加到选择管道时,会出现名称但不会出现值。如果我要使用命令,我可以获取值

Get-Mailbox | Select ProhibitSendQuota,ProhibitReceiveQuota,IssueWarningQuota

当我使用命令时

Get-Mailbox -Identity domain\user | Select Identity,ProhibitSentQuota | Get-MailboxStatistics | Select *

不显示来自 Get-Mailbox cmdlet 的对象,只显示来自 Get-MailboxStatistics 的对象。

那么我的问题是,在添加了所有其他管道和 cmdlet 之后,如何使用 Get-Mailbox cmdlet 中存在的对象?

【问题讨论】:

    标签: powershell exchange-server-2010


    【解决方案1】:

    使用变量。 PowerShell 是一种编程语言,就像任何其他语言一样。不要因为你没有必要而挂断在所有事情上都使用单线。此外,在 CmdLet 末尾执行 Select * 与没有它相同,只是将返回类型从 CmdLet 转换为 PSCustomObject

    $MailBox = Get-Mailbox -Identity "domain\user"
    $MailBox | Select-Object Identity, ProhibitSentQuota | Get-MailboxStatistics
    

    如果您确实坚持将变量保留在管道的上下文中,请使用PipelineVariable

    Get-MailBox -Identity "domain\user" -PipelineVariable MailBox #Now mailbox is available for use further in the pipeline.
    

    Further information about PipelineVariable

    【讨论】:

    • 我试过 PipelineVariable 但这似乎不可用,无论如何我使用了 $Mailbox。我在过滤到单个 Identity 时发现该值出现了,但是一旦我删除 -Identity 并想要返回所有邮箱,那么 ProhibitSendQuota(我现在只关注这一列)就是空的。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 2019-06-22
    • 2017-04-17
    • 2022-06-24
    相关资源
    最近更新 更多