Отключение доступа к службам с помощью Office 365 PowerShellDisable access to services with Office 365 PowerShell

Сводка: Объясняет, как использовать Office 365 PowerShell для отключения доступа к службам Office 365 для пользователей в вашей организации.Summary: Explains how to use Office 365 PowerShell to disable access to Office 365 services for users in your organization.

Если учетная запись Office 365 назначена лицензия из плана лицензирования, служб Office 365 становятся доступными для пользователя из этой лицензии. Тем не менее можно управлять служб Office 365, которые могут иметь доступ этот пользователь. Например несмотря на то, что лицензия позволяет получить доступ к SharePoint Online, можно отключить доступ к нему. На самом деле Office 365 PowerShell можно использовать для отключения доступа к любой номер для служб:When an Office 365 account is assigned a license from a licensing plan, Office 365 services are made available to the user from that license. However, you can control the Office 365 services that the user can access. For example, even though the license allows access to SharePoint Online, you can disable access to it. In fact, you can use Office 365 PowerShell to disable access to any number of services for:

  • отдельная учетная запись;An individual account.

  • группа учетных записей;A group of accounts.

  • все учетные записи в организации.All accounts in your organization.

Перед началом работыBefore you begin

Планирование конкретных служб Office 365 для конкретных пользователей для одной лицензированияSpecific Office 365 services for specific users for a single licensing plan

Чтобы отключить определенного набора служб Office 365 для пользователей из одного плана лицензирования, выполните следующие действия:To disable a specific set of Office 365 services for users from a single licensing plan, perform the following steps:

  1. Выбор нежелательный служб в плане лицензирования, используя следующий синтаксис:Identify the undesirable services in the licensing plan by using the following syntax:

    $LO = New-MsolLicenseOptions -AccountSkuId <AccountSkuId> -DisabledPlans "<UndesirableService1>", "<UndesirableService2>"...
    

    В следующем примере создается объект LicenseOptions , который отключает службы Office Online и SharePoint Online в плане лицензирования с именем litwareinc:ENTERPRISEPACK (Office 365 для предприятий E3).The following example creates a LicenseOptions object that disables the Office Online and SharePoint Online services in the licensing plan named litwareinc:ENTERPRISEPACK (Office 365 Enterprise E3).

    $LO = New-MsolLicenseOptions -AccountSkuId "litwareinc:ENTERPRISEPACK" -DisabledPlans "SHAREPOINTWAC", "SHAREPOINTENTERPRISE"
    
  2. Используйте объект LicenseOptions из шага 1 на одного или нескольких пользователей.Use the LicenseOptions object from Step 1 on one or more users.

    • Чтобы создать учетную запись, для которой отключены службы, используйте указанную ниже команду.To create a new account that has the services disabled, use the following syntax:
    New-MsolUser -UserPrincipalName <Account> -DisplayName <DisplayName> -FirstName <FirstName> -LastName <LastName> -LicenseAssignment <AccountSkuId> -LicenseOptions $LO -UsageLocation <CountryCode>
    

    В следующем примере создается новая учетная запись для Allie Bellew, который назначает лицензии и отключает служб, описанных в шаге 1.The following example creates a new account for Allie Bellew that assigns the license and disables the services described in Step 1.

    New-MsolUser -UserPrincipalName allieb@litwareinc.com -DisplayName "Allie Bellew" -FirstName Allie -LastName Bellew -LicenseAssignment litwareinc:ENTERPRISEPACK -LicenseOptions $LO -UsageLocation US
    

    Дополнительные сведения о создании учетных записей пользователей в Office 365 PowerShell можно Создать учетные записи пользователей с Office 365 PowerShell.For more information about creating user accounts in Office 365 PowerShell, see Create user accounts with Office 365 PowerShell.

    • Чтобы отключить службы для существующего лицензированного пользователя, выполните указанную ниже команду.To disable the services for an existing licensed user, use the following syntax:
    Set-MsolUserLicense -UserPrincipalName <Account> -LicenseOptions $LO
    

    В этом примере показано, как отключить службы для пользователя BelindaN@litwareinc.com.This example disables the services for the user BelindaN@litwareinc.com.

    Set-MsolUserLicense -UserPrincipalName belindan@litwareinc.com -LicenseOptions $LO
    
    • Для отключения служб, описанных в разделе шаг 1 для всех существующих лицензированных пользователей, укажите имя плана Office 365 с экрана в командлет Get-MsolAccountSku (например, litwareinc: enterprisepack) и затем выполните следующие команды:To disable the services described in Step 1 for all existing licensed users, specify the name of your Office 365 plan from the display of the Get-MsolAccountSku cmdlet (such as litwareinc:ENTERPRISEPACK), and then run the following commands:
    $acctSKU="<AccountSkuId>"
    $AllLicensed = Get-MsolUser -All | Where {$_.isLicensed -eq $true -and $_.licenses[0].AccountSku.SkuPartNumber -eq ($acctSKU).Substring($acctSKU.IndexOf(":")+1, $acctSKU.Length-$acctSKU.IndexOf(":")-1)}
    $AllLicensed | ForEach {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $LO}
    
    • Чтобы отключить службы для группы существующих пользователей, воспользуйтесь одним из указанных ниже методов для идентификации пользователей.To disable the services for a group of existing users, use either of the following methods to identify the users:

    • Фильтрация учетных записей, на основе существующего атрибута учетной записи Чтобы сделать это, используйте следующий синтаксис:Filter the accounts based on an existing account attribute To do this, use the following syntax:

    $x = Get-MsolUser -All <FilterableAttributes>
    $x | ForEach {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $LO}
    

    В следующем примере отключается службы для сотрудников отдела продаж в США.The following example disables the services for users in the Sales department in the United States.

    $USSales = Get-MsolUser -All -Department "Sales" -UsageLocation "US"
    $USSales | ForEach {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $LO}
    
    • Использование списка определенных учетных записей Для этого выполните следующие действия:Use a list of specific accounts To do this, perform the following steps:
  3. Создайте текстовый файл, в котором в каждой строке будет по одной учетной записи, как в примере ниже.Create a text file that contains one account on each line like this:

    akol@contoso.com
    tjohnston@contoso.com
    kakers@contoso.com
    

    В этом примере в текстовом файле — C:\Мои документы\Accounts.txt.In this example, the text file is C:\My Documents\Accounts.txt.

  4. Выполните следующую команду:Run the following command:

    Get-Content "C:\My Documents\Accounts.txt" | foreach {Set-MsolUserLicense -UserPrincipalName $_ -LicenseOptions $LO}
    

Для отключения служб Office 365 для пользователей во время при назначении их план лицензирования см запрещать доступ к службам при назначении лицензии пользователя.To disable Office 365 services for users while you are assigning them to a licensing plan, see Disable access to services while assigning user licenses.

Конкретных служб Office 365 для пользователей из всех планы лицензированияSpecific Office 365 services for users from all licensing plans

Чтобы отключить служб Office 365 для пользователей в все доступные планы лицензирования, выполните следующие действия:To disable Office 365 services for users in all available licensing plans, perform the following steps:

  1. Скопируйте и вставьте сценарий в Блокнот.Copy and paste this script into Notepad.

    $AllLicensingPlans = Get-MsolAccountSku
    for($i = 0; $i -lt $AllLicensingPlans.Count; $i++)
    {
     $O365Licences = New-MsolLicenseOptions -AccountSkuId $AllLicensingPlans[$i].AccountSkuId -DisabledPlans "<UndesirableService1>", "<UndesirableService2>"...
     Set-MsolUserLicense -UserPrincipalName <Account> -LicenseOptions $O365Licences
    }
    
  2. В своей среде настройте указанные ниже значения.Customize the following values for your environment:

    • _В этом примере мы будем использовать Office Online и SharePoint Online._ In this example, we'll use Office Online and SharePoint Online.

    • _В этом примере мы будем использовать belindan@litwareinc.com._ In this example, we'll use belindan@litwareinc.com.

      Измененный сценарий выглядит указанным ниже образом.The customized script looks like this:

    $AllLicensingPlans = Get-MsolAccountSku
    for($i = 0; $i -lt $AllLicensingPlans.Count; $i++)
    {
     $O365Licences = New-MsolLicenseOptions -AccountSkuId $AllLicensingPlans[$i].AccountSkuId -DisabledPlans "SHAREPOINTWAC", "SHAREPOINTENTERPRISE"
     Set-MsolUserLicense -UserPrincipalName belindan@litwareinc.com -LicenseOptions $O365Licences
    }
    
  3. Сохраните сценарий в RemoveO365Services.ps1 в папке, где можно найти. В данном примере мы будем сохраните файл в C:\\O365 Scripts.Save the script as RemoveO365Services.ps1 in a location that's easy for you to find. For this example, we'll save the file in C:\\O365 Scripts.

  4. Запустите сценарий в Office 365 PowerShell с помощью следующей команды.Run the script in Office 365 PowerShell by using the following command.

    & "C:\O365 Scripts\RemoveO365Services.ps1"
    

Примечание

Для отмены эффекты любого из этих процедур (то есть, чтобы повторно включить отключенные службы), снова выполнить процедуру, но использовать значение $null для параметра DisabledPlans .To reverse the effects of any of these procedures (that is, to re-enable the disabled services), run the procedure again, but use the value $null for the DisabledPlans parameter.

В началоReturn to top

Все службы Office 365 для всех пользователей для одного плана лицензированияAll Office 365 services for all users for a single licensing plan

Чтобы отключить все службы Office 365 для всех пользователей в определенных плана лицензирования, укажите имя плана лицензирования для $acctSKU (например, litwareinc: enterprisepack) и затем выполните следующие команды в окне командной строки PowerShell:To disable all Office 365 services for all users in a specific licensing plan, specify the licensing plan name for $acctSKU (such as litwareinc:ENTERPRISEPACK), and then run these commands in the PowerShell command window:

$acctSKU="<AccountSkuId>"
$servicesList=(Get-MsolAccountSku | Select -ExpandProperty ServiceStatus).ServicePlan.ServiceName
$lo = New-MsolLicenseOptions -AccountSkuId $acctSKU -DisabledPlans $servicesList
$AllLicensed = Get-MsolUser -All | Where {$_.isLicensed -eq $true -and $_.licenses[0].AccountSku.SkuPartNumber -eq ($acctSKU).Substring($acctSKU.IndexOf(":")+1, $acctSKU.Length-$acctSKU.IndexOf(":")-1)}
$AllLicensed | ForEach {Set-MsolUserLicense -ObjectID $_.ObjectID -LicenseOptions $lo}

Никогда не работали с Office 365?New to Office 365?

См. такжеSee also

Сведения об управлении пользователями с помощью Office 365 PowerShell см. в следующих статьях:See the following additional topics about managing users with Office 365 PowerShell:

Дополнительные сведения о командлетах, использованных в этих процедурах, см. в указанных ниже статьях.For more information about the cmdlets that are used in these procedures, see the following topics: