【问题标题】:Customize output Get-fsrmQuota report自定义输出 Get-fsrmQuota 报告
【发布时间】:2020-07-29 20:42:56
【问题描述】:

当我运行这个命令时

Get-FsrmQuota -path "F:\prod\..." | Select Path, @{ Name="Usage_GB";Expression={$([math]::Round(($_.Usage / 1GB),2))}}, @{ Name="Size_GB";Expression={$([math]::Round(($_.S
ize / 1GB),2))}} | Sort-Object Path

我得到下面的输出

Path               Usage_GB Size_GB
----              -------- -------
F:\prod\folderA    15.21     500
F:\prod\folderB    86.85     110
F:\prod\folderC        0     0.1
F:\prod\folderD     0.52    0.68
F:\prod\folderE      0.1     0.2

我想在最后添加 2 行,一个用于“总使用量”(Usage_GB 列中所有值的总和),另一行用于“总大小”(Size_GB 列中所有值的总和,但我不知道如何总结“usage GB”和“size GB”。我该怎么做?

提前致谢

【问题讨论】:

  • 如果您只想显示该信息,那么您可能会捕获Out-String 的输出并为其添加一组新行。在任何情况下,您都需要自己构建输出,因为 PoSh 没有该数据的内置布局。
  • 我将创建一个新对象并将其附加到您的输出中:$output +[pscustomobject]@{'Path'='Total';'Usage_GB'=($output.Usage_GB | measure -Sum).Sum;'Size_GB'=($output.Size_GB | Measure -Sum).Sum}。它可能看起来很奇怪,但在 PowerShell 中操作会更容易。
  • @AdminOfThings 我试过了,但它不求和,它显示 0 和 0 值

标签: powershell report quota microsoft-distributed-file-system


【解决方案1】:

首先感谢您的回复@Mathias R. Jessen

我检查了它,但它看起来不像总和。我检查了 $TotalUsage 和 $TotalSize 是 0

Path                                 Usage_GB Size_GB
----                                 -------- -------
F:\prod\folderA                      15.22     500
F:\prod\folderB                      86.85     110
F:\prod\folderC                          0     0.1
F:\prod\folderD                       0.52    0.68
F:\prod\folderE                        0.1     0.2
Total                                    0       0

【讨论】:

    【解决方案2】:

    您可以为每个表达式添加一个额外的语句以保持滚动总数,然后在排序后输出一个对象:

    $TotalUsage = 0
    $TotalSize = 0
    @(
      Get-FsrmQuota -path "F:\prod\..." | Select Path, @{ Name="Usage_GB";Expression={$([math]::Round(($_.Usage / 1GB),2)); $TotalUsage += $_.Usage}}, @{ Name="Size_GB";Expression={$([math]::Round(($_.Size / 1GB),2)); $TotalSize += $_.Size}} | Sort-Object Path
      [pscustomobject]@{ Path = 'Total'; Usage_GB = [math]::Round(($TotalUsage / 1GB), 2); Size_GB = [math]::Round(($TotalSize / 1GB), 2) }
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-22
      • 2010-12-16
      • 2014-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多