将0365许可分配给用户列表

时间:2016-04-12 13:23:03

标签: powershell office365 licensing

尝试获取脚本以将O365许可证分配给用户列表。我在这里错过了什么?我根据SamAccountName长度和用户创建日期得到了要工作的用户列表。如何查看该列表中的每个用户并为其分配O365许可证(如果它是假的)? IF声明是否适合在这里使用?

Import-Module ActiveDirectory
$date = (Get-Date).ToString()
$month = (Get-Date).AddDays(-4)

$NewUser = Get-ADuser -Filter * -Properties * | Where { ($_.samaccountname.length -eq 3 -and $_.whencreated -ge $month) } | Select-Object SamAccountName, UserPrincipalName, whencreated

Import-Module MSOnline
Connect-Module -Cred $User
foreach ($item in $NewUser) {Get-MsolUser -UserprincipalName $NewUser | where {$_.isLicensed -eq $false}
Set-MsolUserLicense -UserPrincipalName $NewUser.UserPrincipalName -AddLicenses $NewUser.licensetype

}

1 个答案:

答案 0 :(得分:0)

使用if语句是对的。请参阅以下内容:

foreach($user in $NewUser){

$AccountInfo = Get-MsolUser -UserPrincipalName $user.UserPrincipalName -ErrorAction Stop

$CurrentAccountSku = $AccountInfo.Licenses.AccountSkuId


if($CurrentAccountSku -ne $null)
{
Set-MsolUserLicense -UserPrincipalName $user.UserPrincipalName    -AddLicenses 'contoso:ENTERPRISEPACK' -ErrorAction Stop
}

}

这是一个用于将不同的Skus添加到Office 365用户帐户的博客。 http://blogs.technet.com/b/treycarlee/archive/2013/11/01/list-of-powershell-licensing-sku-s-for-office-365.aspx