Сценарии управления пользователями для Office 365 PowerShell

Важно :  Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.

Используйте предложенные сценарии PowerShell для быстрого добавления учетных записей из файла, назначения лицензий, управления членством в группах рассылки и задания паролей.

Автоматизация импорта нескольких пользователей

Вы можете сэкономить много времени, автоматизировав импорт нескольких пользователей в Office 365. Для импорта большого количества пользователей необходимо подготовить файл их данных с разделителями-запятыми (CSV). Минимальным набором сведений, необходимых для создания учетной записи пользователя, является отображаемое имя и имя участника-пользователя (UPN).

Имя участника-пользователя — это имя пользователя в формате адреса электронной почты: за именем пользователя следует знак @ и имя домена подписки на Office 365, например OlgaZ@contoso.com. Вы также можете добавить данные для любых свойств учетной записи, доступных для записи, таких как расположение, контактные номера и адреса.

Для базовых свойств учетной записи, таких как имя участника-пользователя и отображаемое имя, подготовьте CSV-файл с двумя следующими заголовками столбцов:

  • UserPrincipalName,DisplayName

Затем добавьте по одной новой учетной записи в каждой строке CSV-файла, введя имя участника-пользователя и отображаемое имя, разделенные точкой с запятой.

Примечание : Так как вы не указываете пароль для каждой новой учетной записи, Office 365 создаст их.

Сохраните CSV-файл в удобном для доступа месте, например C:\O365Admin\NewUsers.CSV. Теперь можно создать учетные записи пользователей.

Для начала потребуется подключиться к Office 365 с помощью модуля Windows Azure Active Directory для Windows PowerShell. Инструкции см. в статье Подключение к Office 365 PowerShell.

Затем укажите путь к файлу и его имя между двойными кавычками, удалив текст инструкций и символы < и >.

$fileName="<path and file name of the CSV file, example C:\O365Admin\NewUsers.CSV>"
Import-Csv $fileName | ForEach { New-MsolUser -UserPrincipalName  $_.UserPrincipalName -DisplayName $_.DisplayName }

Выполните получившиеся команды в модуле Windows Azure Active Directory для Windows PowerShell.

Чтобы использовать дополнительные сведения о пользователях, подготовьте CSV-файл со следующими заголовками столбцов и заполните строки пользователей:

  • UserPrincipalName,DisplayName,FirstName,LastName,Title,Password,UsageLocation,Office,Department,MobilePhone,StreetAddress,City,State,PostalCode,Country

Примечание : Заголовки столбцов не могут иметь пробелов, так как на них должен ссылаться элемент $_. команды Import-Csv. Обязательными являются только поля UserPrincipalName и DisplayName; пустые значения пропускаются. Код UsageLocation — двухзначный код ISO региона пользователя.

Сохраните CSV-файл в удобном для доступа месте, например C:\O365Admin\NewUsers.CSV. Теперь можно импортировать данные как учетные записи пользователей.

Укажите имя CSV-файла и выполните получившиеся команды.

$fileName="<path and file name of the CSV file, example C:\O365Admin\NewUsers.CSV>"
Import-Csv $fileName | ForEach { New-MsolUser -UserPrincipalName   $_.UserPrincipalName -FirstName $_.FirstName -LastName $_.LastName -DisplayName $_.DisplayName -Title $_.Title -Department $_.Department -Office $_.Office -MobilePhone $_.MobilePhone -StreetAddress $_.StreetAddress -City $_.City -State $_.State -PostalCode $_.PostalCode -Country $_.Country -Password $_.Password }

Назначение лицензий в Office 365

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

Для начала потребуется подключиться к Office 365 с помощью модуля Windows Azure Active Directory для Windows PowerShell. Инструкции см. в статье Подключение к Office 365 PowerShell.

Прежде чем назначать лицензию пользователю, необходимо задать для него место использования на основе двухзначного кода ISO его региона. Место использования определяет страну, в которой будет использоваться служба, и доступные возможности. Например, код US используется для США. Вот как задать место использования на основе имени участника-пользователя:

Set-MsolUser -UserPrincipalName user@contoso.com -UsageLocation US

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

Get-MsolAccountSku

Затем укажите лицензию и имя участника-пользователя учетной записи и выполните получившиеся команды в модуле Windows Azure Active Directory для Windows PowerShell.

$license="<the appropriate value of AccountSkuId from the Get-MsolAccountSku command>"
$userUPN="<the UPN of the user account>"
UserLicense -UserPrincipalName $userUPN -AddLicenses $license

Назначение лицензий нескольким пользователям

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

Для начала потребуется подключиться к Office 365 с помощью модуля Windows Azure Active Directory для Windows PowerShell. Инструкции см. в статье Подключение к Office 365 PowerShell.

Прежде всего, выведите список доступных лицензий, SKU учетных записей и количество оставшихся лицензий, выполнив следующую команду:

Get-MsolAccountSku

Чтобы отобразить список пользователей без лицензий, используйте следующую команду:

Get-MsolUser -UnlicensedUsersOnly

Чтобы сохранить список пользователей без лицензий в CSV-файл, из которого можно выбирать учетные записи для назначения лицензий, укажите его путь и имя, а затем выполните получившиеся команды.

$fileName="<path and file name of the CSV file, example: c:\reports\Unlicensed_Users.CSV>"
Get-MsolUser -UnlicensedUsersOnly | Export-Csv $fileName

Вы также можете использовать команду Where, чтобы вывести учетные записи пользователей без лицензий с учетом более точных условий, например список пользователей из США. Приведем пример:

Get-MsolUser -All -UnlicensedUsersOnly | Where {$_.Country -eq "United States"}

С помощью этих команд можно задать свойство учетной записи пользователя и его требуемое значение, чтобы вывести нужный набор пользователей без лицензий:

$userPropertyName="<name of the user property>"
$userPropertyValue="<value of the user property>"
Get-MsolUser -All -UnlicensedUsersOnly | Where {$_.$userPropertyName -eq $userPropertyValue}

Чтобы получить список свойств учетных записей, укажите имя участника-пользователя любой учетной записи и выполните получившиеся команды:

$userUPN="<the UPN of any user account>"
Get-MsolUser -UserPrincipalName $userUPN | Select * | More

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

$userPropertyName="City"
$userPropertyValue="London"
Get-MsolUser -All -UnlicensedUsersOnly | Where {$_.$userPropertyName -eq $userPropertyValue}

Определив набор учетных записей, используйте его с командлетом Set-MsolUserLicense, чтобы назначить лицензии всем пользователям. Укажите лицензию, имя свойства и его значение, а затем выполните получившиеся команды.

$license="<the appropriate value of AccountSkuId from the Get-MsolAccountSku command>"
$userPropertyName="<name of the user property>"
$userPropertyValue="<value of the user property>"
Get-MsolUser -All -UnlicensedUsersOnly | Where {$_.$userPropertyName -eq $userPropertyValue}  | Set-MsolUserLicense -AddLicenses $license

Вот как назначить лицензии на Office 365 E5 всем не имеющим их сотрудникам Contoso в Лондоне:

$license="contoso:ENTERPRISEPACK"
$userPropertyName="City"
$userPropertyValue="London"
Get-MsolUser -All -UnlicensedUsersOnly | Where {$_.$userPropertyName -eq $userPropertyValue}  | Set-MsolUserLicense -AddLicenses $license

Управление получателями группы рассылки

На основе групп рассылки можно создавать списки рассылки электронной почты. Группы рассылки можно использовать только в почтовых приложениях, таких как Microsoft Outlook, для отправки сообщений наборам пользователей. В данном сценарии PowerShell используется для управления получателями группы рассылки.

Чтобы начать, необходимо подключиться к Exchange Online. Сведения о том, как подключиться к Exchange Online с помощью имени пользователя и пароля, см. в статье Подключение к Exchange Online PowerShell. Чтобы установить модуль удаленной оболочки PowerShell для Microsoft Exchange и подключиться с использованием многофакторной проверки подлинности, см. статью Подключение к Exchange Online PowerShell с помощью многофакторной проверки подлинности.

Чтобы добавить получателя в группу рассылки, укажите ее название и имя участника-пользователя, а затем выполните получившиеся команды.

$distName="<name of the distribution group>"
$userUPN="<the UPN of the user account>"
Add-DistributionGroupMember -Identity $distName -Member $userUPN

Чтобы удалить получателя из группы рассылки, укажите ее название и имя участника-пользователя, а затем выполните получившиеся команды.

$distName="<name of the distribution group>"
$userUPN="<the UPN of the user account>"
Remove-DistributionGroupMember -Identity $distName -Member $userUPN

Задание паролей для нескольких учетных записей

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

Для сброса паролей учетных записей, которые регулярно используются разными людьми, удобно выполнять массовое изменение паролей. Определив группу пользователей по отделу или другим критериям, вы сможете массово сбрасывать пароли на основе таких критериев. Первым делом нужно экспортировать имена учетных записей пользователей Office 365 в CSV-файл.

Чтобы при экспорте учитывать значение определенного свойства учетных записей, укажите имя свойства, его значение и имя CSV-файла, а затем выполните получившиеся команды.

$userPropertyName="<name of the user property>"
$userPropertyValue="<value of the user property>"
$fileName="<path and file name of the CSV file, example c:\O365Admin\userlist.csv>"
Get-MsolUser | Where {$_.$userPropertyName -eq $userPropertyValue} | select UserPrincipalName | Export-Csv $fileName -NoTypeInformation

Вот как экспортировать все учетные записи из отдела Volunteers в файл c:\O365admin\volunteerslist.csv:

$userPropertyName="Department"
$userPropertyValue="Volunteers"
$fileName="c:\O365admin\volunteerslist.csv"
Get-MsolUser | Where {$_.$userPropertyName -eq $userPropertyValue} | Select UserPrincipalName | Export-Csv $fileName -NoTypeInformation

Просмотрите имена в CSV-файле, чтобы убедиться, что определили правильных пользователей, прежде чем сбрасывать пароли. После проверки списка пользователей в формате CSV можно создать и назначить пароли, используя один из трех простых способов:

  1. Укажите новый пароль и назначьте его всем пользователям в CSV-файле.

    Укажите новый пароль и имя CSV-файла, а затем выполните получившиеся команды.

    $pass="<the new password>"
    $fileName="<path and file name of the CSV file, example c:\O365Admin\userlist.csv>"
    Import-Csv $fileName | ForEach {Set-MsolUserPassword -UserPrincipalName $_.UserPrincipalName -NewPassword $pass -ForceChangePassword $True}
  2. Вручную задайте новый пароль для каждого пользователя в CSV-файле.

    Для этого потребуется изменить CSV-файл. Добавьте столбец Password рядом со столбцом UserPrincipalName, а затем назначьте пароль всем пользователям в списке. Укажите имя CSV-файла, а затем выполните получившиеся команды.

    $fileName="<path and file name of the CSV file, example c:\O365Admin\userlist.csv>"
    Import-Csv $fileName | ForEach {Set-MsolUserPassword -UserPrincipalName $_.UserPrincipalName -NewPassword $_.Password -ForceChangePassword $True}
  3. Используйте пароли, автоматически создаваемые Office 365 для каждой учетной записи в CSV-файле.

    Укажите имя CSV-файла, а затем выполните получившиеся команды.

    $fileName="<path and file name of the CSV file, example c:\O365Admin\userlist.csv>"
    Import-Csv $fileName | ForEach {[string[]]$a+= $_.UserPrincipalName + "  " + (Set-MsolUserPassword -UserPrincipalName $_.UserPrincipalName -ForceChangePassword $True)} ;$a

Примечание : Какой бы из этих трех вариантов ни использовался, при первом входе пользователя в службу ему потребуется сменить пароль. Чтобы предотвратить такую ситуацию, удалите -ForceChangePassword $True из команды Set-MSolUserPassword.

Примечание : Отказ от ответственности относительно машинного перевода. Данная статья была переведена с помощью компьютерной системы без участия человека. Microsoft предлагает эти машинные переводы, чтобы помочь пользователям, которые не знают английского языка, ознакомиться с материалами о продуктах, услугах и технологиях Microsoft. Поскольку статья была переведена с использованием машинного перевода, она может содержать лексические,синтаксические и грамматические ошибки.

См. также

PowerShell для администраторов Office 365

Сценарии Office 365 PowerShell

Сценарии настройки для Office 365 PowerShell

Сценарии создания отчетов для Office 365 PowerShell

Дополнительные сценарии для Office 365 PowerShell

Ресурсы сообщества Office 365 PowerShell

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×