Office 365 Licence使用情况统计

负责采购的同事需要知道目前公司使用了多少License,但是通过O365控制台界面似乎无法直接导出License使用量的信息,于是让我帮忙从后台统计一下。

$mail_text = Read-Host "输入你的Office 365邮箱:"
$pw_text = Read-Host "输入你的Office 365密码:"
$pw = ConvertTo-SecureString $pw_text -AsPlainText -Force 
$creds = New-Object -Typename System.Management.Automation.PSCredential -Argumentlist $mail_text, $pw
'请稍后,正在生成报告:'
connect-MsolService -Credential $creds
$result = Get-MsolUser | select userprincipalname,@{n='licenses';e={($_.licenses).AccountSkuId}} | sort licenses
'总计:' + ($result | Measure-Object).Count
'-其中-’
'协作版:' + ($result | where licenses -eq 'VobileChina:O365_BUSINESS_ESSENTIALS' | Measure-Object).Count
'高级版:' + ($result | where licenses -eq 'VobileChina:O365_BUSINESS_PREMIUM' | Measure-Object).Count
'未分配:' + ($result | where licenses -eq $null | Measure-Object).Count
$result | Export-Csv -Path ./o365usage.csv -Encoding Default

 

2017-3-15更新:

换了新工作,公司用的是国际版Office 365,License的类型似乎和世纪互联的不一样,存在一个人拥有多个授权的情况,所以上面的脚本就不适用了。

Get-MsolUser -MaxResults 25 | foreach {
  [PSCustomObject]@{ 'name' = $_.userprincipalname; 'license' = ($_.licenses | select -ExpandProperty AccountSkuId | Sort | Out-String).Trim() -replace "`n", ' & ' } | Export-Csv "C:\Users\root.csv" -Append -NoTypeInformation
} # | ft -Wrap -AutoSize

Get-MsolUser -MaxResults 25 | 
  select userprincipalname, 
         @{n='license';e={($_.licenses | select -ExpandProperty AccountSkuId | Sort | Out-String).Trim() -replace "`n", ' & ' }} | Export-Csv "C:\Users\root.csv" -Append -NoTypeInformation
         # | ft -AutoSize -Wrap

 

转载于:https://www.cnblogs.com/IvanChen/p/5686970.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值