我已经在这一段时间里摸不着头脑了。
我正在编译脚本以在Powershell中创建新的Office365用户帐户。我想添加一个Tennant拥有的许可证数量的检查,并提示管理员进入Web门户,以便在Tennant没有备用许可证的情况下添加更多许可证
我想选择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进行比较?
答案 0 :(得分:5)
删除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
}
} | ...