Вы находитесь на странице: 1из 40

Управление онлайн-службами Microsoft 365

с помощью PowerShell

Дмитрий Узлов
Руководитель направления проектов
MCSE: Productivity

uzlov@tpko.ru
fb.com/Dmitry.Uzlov
blogs.tpko.ru
Modernworkplace.ru

План
Гибридная
Основные этапы Настройка
PowerShell для идентификация и
внедрения и подключения к
Microsoft 365 синхронизация с
активации службам
Active Directory

Виды Обзор
Регистрация в
идентификаци модулей
Office 365
и в Office 365 управления
Почему?
Синхронизаци На что стоит
Подключение
я Azure AD обратить
домена
Connect внимание
PowerShell и Microsoft 365
Зачем использовать PowerShell

$reasons | ForEach-Object { Write-Host $_ }

Позволяет получить дополнительную информацию, недоступную в Центре


администрирования
Некоторые компоненты можно настроить только в PowerShell
Идеально подходит для групповых операций
Позволяет фильтровать данные
Упрощает печать и сохранение данных
Позволяет управлять серверными продуктами
Чем можно управлять в Microsoft 365 с помощью PowerShell

Exchange
Azure AD ADDS
Online

Skype for
SharePoint
Business Teams
Online Online

Azure AD
Windows 10
Connect
Демонстрация
Создание подписки на

Office 365 Business
Premium
Варианты создания подписки: Пробная подписка
Использование мастера
настройки Office 365
Мастер настройки Office 365
Демонстрация
Подключение собственного
домена
Добавление домена
Добавление домена
Добавление домена
Изменение имён входа пользователей
Виды идентификации в
Office 365
Облачные удостоверения
Синхронизированные удостоверения
Федеративные удостоверения
Проверка на ошибки - IdFix
IdFix находит в каталоге
ошибки, такие как
повторяющиеся данные и
проблемы с
форматированием, перед
синхронизацией с
Office 365.
Настройка синхронизации
каталогов AD и Azure AD
Синхронизация каталогов AD и Azure AD
Синхронизация каталогов AD и Azure AD
Настройка подключения к
сервисам Microsoft 365 с
помощью PowerShell
Настройка PowerShell

Set-ExecutionPolicy -ExecutionPolicy Unrestricted


Install-Module AzureAD
Install-Module MicrosoftTeams

$CurrentPath = [Environment]::GetEnvironmentVariable("PSModulePath", "Machine")


[Environment]::SetEnvironmentVariable("PSModulePath", $CurrentPath + ";C:\Program Files\Microsoft
Azure AD Sync\Bin\ADSync", "Machine")
Настройка PowerShell
Настройка PowerShell
Подключение к онлайн-службам

$cred = Get-Credential -Message 'Введите учётные данные глобального администратора'

#$username = 'cloudadmin@tpkocorp.onmicrosoft.com'
#$password =
'01000000d08c9ddf0115d1118c7a00c04fc297eb01000000bc8586d1d4a0c54abbda6d7534721d3d0000000
002000000000008880000c00000001000000008d77bb114d0d625b7b71d21a83276af0000000004800000a
000000010000000bfc94427dfafca0c20db2d31854d9c9418000000538c38eeed2eb5b75b375bfb16bdac7e0
5595263c995a9841400000023baca6cdc6be3d7f4a3132161829df580394ee6' | ConvertTo-SecureString
# Пароль можно получить с помощью
# 'Pa$$w0rd' | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString

#$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList


$username, $password
Connect-AzureAD -Credential $cred
Подключение к онлайн-службам

#Connect to Exchange Online


$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://
outlook.office365.com/powershell-liveid/" -Credential $cred -Authentication Basic -AllowRedirection
Import-PSSession $session

#Connect to SharePoint Online


Connect-SPOService -Url https://tpkocorp-admin.sharepoint.com -Credential $cred

#Connect to Skype for Business Online


$sfboSession = New-CsOnlineSession -Credential $cred
Import-PSSession $sfboSession

#Connect to Microsoft Teams


Connect-MicrosoftTeams -Credential $cred
Отключение от онлайн-служб

# Disconnect from online services


Get-PSSession | Remove-PSSession
Disconnect-SPOService
Disconnect-AzureAD
Disconnect-MicrosoftTeams
Подключение и отключение от онлайн-служб
Типовые операции –
как сделать
Создание нового пользователя

#User provisioning
$name = ‘tst'
New-ADUser -Name "$name@tpkocorp.ru" -DisplayName "Demo User" -AccountPassword (Read-Host -
AsSecureString "User Password") -Enabled $true

Start-ADSyncSyncCycle -PolicyType Delta

Get-AzureADUser -All $true | Where-Object { $_.UserPrincipalName -eq "$name@tpkocorp.onmicrosoft.com" }


| Set-AzureADUser -UserPrincipalName "$name@tpkocorp.ru"
$UserToLicense = Get-AzureADUser -All $true | Where-Object { $_.UserPrincipalName -eq
"$name@tpkocorp.ru" }
$EnabledPlans = 'O365_BUSINESS_PREMIUM'
$LicenseSku = Get-AzureADSubscribedSku | Where-Object {$_.SkuPartNumber -eq
'O365_BUSINESS_PREMIUM'}
$DisabledPlans = $LicenseSku.ServicePlans | ForEach-Object -Process {
$_ | Where-Object -FilterScript {$_.ServicePlanName -notin $EnabledPlans }
}
Создание нового пользователя

#Azure group provisioning


New-AzureADGroup -Description "Administration" -DisplayName "Администрация" -MailEnabled $false
-SecurityEnabled $true -MailNickName Administration

#Add member to group


$group = Get-AzureADGroup -Filter "DisplayName eq 'Администрация'"
$user = Get-AzureADUser -ObjectId tst@tpkocorp.ru
Add-AzureADGroupMember -ObjectId $group.ObjectId -RefObjectId $user.ObjectId

#Get group membership


Get-AzureADGroupMember -ObjectId $group.ObjectId
Создание нового пользователя
Работа с группами

#Azure group provisioning


New-AzureADGroup -Description "Admins" -DisplayName "Администраторы" -MailEnabled $false -
SecurityEnabled $true -MailNickName Admins

#Add member to group


$group = Get-AzureADGroup -Filter "DisplayName eq 'Администраторы'"
$user = Get-AzureADUser -ObjectId tst@tpkocorp.ru
Add-AzureADGroupMember -ObjectId $group.ObjectId -RefObjectId $user.ObjectId

#Get group membership


Get-AzureADGroupMember -ObjectId $group.ObjectId
Работа с группами
Работа с Microsoft Teams

$group = New-Team -alias "TestTeam" -displayname "Test Teams" -AccessType "private"


Add-TeamUser -GroupId $group.GroupId -User "cloudadmin@tpkocorp.onmicrosoft.com"
Add-TeamUser -GroupId $group.GroupId -User "tst@tpkocorp.ru"
New-TeamChannel -GroupId $group.GroupId -DisplayName "FY18 Прогнозы"
New-TeamChannel -GroupId $group.GroupId -DisplayName "Статусы сделок"
New-TeamChannel -GroupId $group.GroupId -DisplayName "Контракты"
Set-TeamFunSettings -GroupId $group.GroupId -AllowCustomMemes true
Работа с Microsoft Teams
Где взять документацию

docs.microsoft.com

https://docs.microsoft.com/ru-ru/office365/
enterprise/powershell/manage-office-365-with-
office-365-powershell

https://docs.microsoft.com/ru-ru/powershell/
scripting/getting-started/getting-started-with-
windows-powershell?view=powershell-6
Спасибо за внимание!
Дмитрий Узлов
Руководитель направления проектов
Компания «ТЕХНОПОЛИС»
MCSE: Productivity

uzlov@tpko.ru
fb.com/Dmitry.Uzlov
blogs.tpko.ru
Modernworkplace.ru

Оценить