PowerShell Set-MSolUserLicense - PullRequest
       7

PowerShell Set-MSolUserLicense

0 голосов
/ 27 июня 2018

Я пытаюсь отозвать большую часть пользовательских лицензий из нашего Office365.

У меня есть все UserPrincipalName пользователя в CSV-файле, например:

Name
user.name@domain.com
user.name2@domain.com
"
"

Вот что я пытался сделать:

$csv1 = import-csv | select -expandProperty name

Set-MsolUserLicense -UserPrincipalName $csv1 -RemoveLicense "domain:STANDARDPACK"

Когда у меня был только один пользователь в файле CSV, он работает ! Но когда я пытаюсь добавить больше пользователей в тот же файл и в тот же список, команда завершается неудачно и выдает мне эту ошибку:

Set-MsolUserLicense : Unable to assign this license because it is invalid. Use the
Get-MsolAccountSku cmdlet to retrieve a list of valid licenses.

Я дважды проверил и убедился, что это действительно правильная лицензия (domain:StandartPack)

Что еще я могу сделать? Как я могу заставить это работать?

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Вам нужно будет перебрать все назначенные лицензии и найти ту, которую вы хотите удалить.

foreach($UPN in $csv1){
  $user = Get-MsolUser -UserPrincipalName $UPN
  $license_Count = ($user.licenses).count

  for($e=0;$e -le $license_Count - 1;$e++){
    if($user.Licenses[$e].AccountSkuID -eq "domain:STANDARDPACK"){
      Set-MsolUserLicense -UserPrincipalName $user -RemoveLicenses "domain:STANDARDPACK"
    }
  }
}
0 голосов
/ 27 июня 2018

Вам нужно перебирать каждую строку в csv за раз, в тот момент, когда вы работаете со всеми из них одновременно, поэтому попробуйте это:

$csv1 = import-csv | select -expandProperty name
foreach ($upn in $csv1)
{
Set-MsolUserLicense -UserPrincipalName $upn.Name -RemoveLicense "domain:STANDARDPACK"
}

** EDIT:

Попробуйте также следующий метод (при необходимости обновите)

$csv1 = import-csv | select -expandProperty name
foreach ($upn in $csv1)
{
$License = Get-MsolUser -UserPrincipalName $upn.Name | % {$_.Licenses.AccountSkuId}
    if ($License) {
    Set-MsolUserLicense -UserPrincipalName $upn.Name -RemoveLicense $License
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...