繁体   English   中英

在Powershell中比较格式表输出的列

[英]Comparing the Columns of a Format-Table Output in Powershell

我已经在这上面scratch了一段时间。

我正在编译脚本以在Powershell中创建新的Office365用户帐户。 如果租户没有备用许可证,我想添加一个对租户许可证数量的检查,并提示管理员转到Web门户以添加更多许可证

我想选择EXCHANGESTANDARD并将ActiveUnits与ConsumedUnits进行比较,以确保ActiveUnits比ConsumedUnits更多

Get-MsolAccountSku | Where-Object {$_.AccountSkuId -eq "Company365:EXCHANGESTANDARD" } | ft -AutoSize

AccountSkuId                   ActiveUnits WarningUnits ConsumedUnits
------------                   ----------- ------------ -------------
Company365:EXCHANGESTANDARD    274         0            274 

我现在将如何设置将ActiveUnits列与ConsumedUnits进行比较?

删除Format-Table语句。 Format-*语句用于显示数据,因此在需要进一步处理时不应使用它们。

如果要过滤ActiveUnits大于ConsumedUnits项目,则可以将检查添加到Where-Object条件:

Get-MsolAccountSku | Where-Object {
  $_.AccountSkuId -eq "Company365:EXCHANGESTANDARD" -and
  $_.ActiveUnits -gt $_.ConsumedUnits
} | ...

如果您需要根据ActiveUnits是否大于ConsumedUnits采取措施,则可以在循环中使用条件:

Get-MsolAccountSku | Where-Object {
  $_.AccountSkuId -eq "Company365:EXCHANGESTANDARD"
} | ForEach-Object {
  if ($_.ActiveUnits -gt $_.ConsumedUnits) {
    # do some
  } else {
    # do other
  }
} | ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM