Я пытаюсь отключить сублицензию из лицензии office365 E1 - PullRequest
0 голосов
/ 24 марта 2019

У меня есть проект, в котором мне нужно отключить «EXCHANGE_S_STANDARD» в office365 E1license.Это должно быть сделано для более чем 300 пользователей.Я пытался сделать это с помощью PowerShell.

Я выполнял (Get-MsolUser -UserPrincipalName testuser@domain.com).Licenses[0].ServiceStatus[16], поэтому я знаю, что это правильный сервисный план, но все еще не работает, и я не уверен, что делаю неправильно.

$License = "Domain:STANDARDPACK"
$LicenseOption = New-MsolLicenseOptions -AccountSkuId $License -DisabledPlans "EXCHANGE_S_STANDARD"
Get-MsolUser -UserPrincipalName testuser@Domain.com | Set-MsolUserLicense $LicenseOption

Это ошибка, которую я получаю.

Set-MsolUserLicense : A positional parameter cannot be found that accepts argument 'Microsoft.Online.Administration.LicenseOption'.
At line:3 char:58
+ ... cipalName testuser@domain.com | Set-MsolUserLicense $LicenseOption
+                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Set-MsolUserLicense], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.Online.Administration.Automation.SetUserLicense

Спасибо за ваше время.

1 Ответ

1 голос
/ 24 марта 2019

Вам нужно использовать параметр -LicenseOptions при запуске Set-MsolUserLicense:

Get-MsolUser -UserPrincipalName testuser@Domain.com | Set-MsolUserLicense -LicenseOptions $LicenseOption

Ошибка позиционного параметра означает, что параметру не был присвоен номер позиции. Если номер позиции назначен, то значение, переданное этому параметру, может быть добавлено к команде без использования имени параметра. Номера позиций начинаются с 0.

Function Example {
Param(
   [Parameter(Position=0)]
   [string]$Par1,
   [Parameter(Position=1)]
   [string]$Par2,
   [Parameter(Position=2)]
   [string]$Par3
)
$PSBoundParameters
}

Example "Value1" "Value2" "Value3" # Using Positions

Key  Value
---  -----
Par1 Value1
Par2 Value2
Par3 Value3

Example -Par1 "Value1" -Par2 "Value2" -Par3 "Value3" # Using Parameter Names

Key  Value
---  -----
Par1 Value1
Par2 Value2
Par3 Value3

Однако, обратите внимание, что если вы смешиваете использование, а не использование имен параметров с вашими позиционными параметрами, PowerShell назначит неназванные значения в порядке позиционных параметров, которые не имеют назначений:

Example "Value3" "Value2" -Par1 "Value1"

Key  Value
---  -----
Par1 Value1
Par2 Value3
Par3 Value2

Обратите внимание, как -Par1 получил Value1, используя указанный параметр. Но $Par2 получил Value3 и $Par3 получил Value2 используя позиции. Это потому, что параметр в позиции 0 уже получил назначение. Позиции 1 и 2 остались без именных назначений. Таким образом, первое безымянное значение параметра пошло к параметру с самым низким доступным номером позиции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...