[英]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.