Office 365 批量分配许可脚本
本脚本可以帮助 Office 365 管理员在后台对用户进行批量分配许可时使用,将文件保存为 .ps1 后缀,这样在 PowerShell 下执行些脚本即可完成相应的批量分配许可任务。
访问:
微软office 365正式版 office 365激活工具
function Connect-MSService(){
Import-Module MsOnline
$cred=Get-Credential -Credential xxx@xxxx.com
Connect-MsolService -Credential $cred #-errorAction silentlyContinue -errorvariable er
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://partner.outlook.cn/PowerShell-LiveID -Credential $cred -Authentication Basic -AllowRedirection
Import-PSSession $Session
}
Connect-MSService
$msolUsers = Get-MsolUser -All -Synchronized
$mailboxUsers = Get-Mailbox -ResultSize unlimited|%{$_.UserPrincipalName}
## Define License Options
## There are five Services SHAREPOINTWAC,SHAREPOINTENTERPRISE,MCOSTANDARD,OFFICESUBSCRIPTION,EXCHANGE_S_ENTERPRISE in E3 Licence
## If you want to disable any of them in the licence options, just use -DisablePlans and follow the name of the services you want to disable
$O365E3 = New-MsolLicenseOptions -AccountSkuId syndication-account:ENTERPRISEPACK_NO_RMS
$O365E3_OnlyExchange = New-MsolLicenseOptions -AccountSkuId syndication-account:ENTERPRISEPACK_NO_RMS -DisabledPlans SHAREPOINTWAC,SHAREPOINTENTERPRISE,MCOSTANDARD,OFFICESUBSCRIPTION
## Process each user in the collection, if they have license already, change the license options, if not, add the License with options
foreach ($msolUser in $msolUsers) {
$HasLicense = $msolUser.IsLicensed
if ($HasLicense) {
#Write-Host $msolUser.UserPrincipalName -ForegroundColor Green
#$msolUser | Set-MsolUserLicense -LicenseOptions $O365E3_OnlyExchange
}
else {
if($mailboxUsers -contains $msolUser.UserPrincipalName){
$msolUser | Set-MsolUser -UsageLocation “CN”
$msolUser | Set-MsolUserLicense -AddLicenses “syndication-account:ENTERPRISEPACK_NO_RMS” -LicenseOptions $O365E3_OnlyExchange -ErrorAction Continue
if($?){
$msolUser.IsLicensed=$true
}else{
Write-Host $msolUser.UserPrincipalName -ForegroundColor green
}
}
}
}