Использование PowerShell для управления Office 365 может сделать вашу работу быстрее, эффективнее и проще. PowerShell предоставляет доступ к информации о среде Office 365, к которой нельзя получить доступ через центр администрирования Microsoft 365, и позволяет выполнять массовые операции с помощью одной команды. Благодаря интеграции продуктов Office 365 в единый интерфейс, PowerShell также упрощает управление доступом пользователей и усиливает кибербезопасность.

Данная статья объясняет наиболее полезные для системных администраторов команды PowerShell для Office 365. Мы разделили эти команды на три категории — автоматизация, отчетность и конфигурация, — чтобы вы могли быстро найти то, что вам нужно.

Как PowerShell может помочь работе с Office 365




Центр администрирования Microsoft 365 отлично подходит для обычных пользователей. Используя эту систему, вы можете управлять своими учетными записями и лицензиями пользователей Office 365, а также такими службами, как Exchange Online, Teams и SharePoint Online. Вы также можете управлять всеми этими компонентами с помощью PowerShell. Его использование значительно упрощает автоматизацию и делает вашу работу более эффективной.

В частности, существует несколько ключевых факторов, которые упрощают управление Office 365 с помощью PowerShell:

  • PowerShell для Office 365 показывает дополнительную информацию, которую вы не можете увидеть в центре администрирования Microsoft 365;
  • PowerShell позволяет настраивать функции и параметры, недоступные в центре администрирования Office 365;
  • Если вы используете Office 365 для обмена файлами, PowerShell для Office 365 позволит быстро выполнять проверку и управлять доступом пользователей к общим дискам;
  • Через командную строку вы можете легко выполнять массовые операции;
  • В PowerShell для Office 365 вы можете использовать командлеты для фильтрации данных, полученных из вашей системы Office 365. Таким образом вы получите быстрый доступ к информации о пользователях и системах;
  • Его также можно использовать для автоматизации процесса сбора данных из Office 365 и их выгрузки в CSV-файл;
  • Благодаря возможности быстро проверять информацию о пользователях PowerShell является мощным инструментом для мониторинга и повышения кибербезопасности.

Все эти функции чрезвычайно полезны для системных администраторов. Однако следует отметить, что PowerShell помогает расширить возможности по управлению Office 365, а не заменяет центр администрирования Microsoft 365. Выполнение некоторых задач будет более эффективным с помощью центра администрирования, и наоборот, некоторые процедуры настройки можно выполнить только с помощью команд PowerShell.

Как только вы освоите основы PowerShell, система станет практически неограниченно расширяемой. Существуют десятки инструментов PowerShell, которые могут упростить и ускорить системное администрирование, а использование командной строки позволит запускать сценарии для автоматизации частых и трудоемких задач.

Наконец, попробуйте интегрированную среду разработки сценариев PowerShell (ISE) для всех ваших потребностей, связанных с PowerShell. Эта среда не только упрощает создание сценариев PowerShell, но и улучшает взаимодействие с интерфейсом командной строки.

Команды PowerShell для автоматизации Office 365




Вместо обработки десятков учетных записей пользователей вручную, вы можете использовать PowerShell для быстрого сбора, фильтрации и систематизации информации о пользователях Office 365. Затем с помощью того же интерфейса командной строки вы можете выполнять массовые действия в отношении нужной учетной записи.

Наиболее полезные команды PowerShell для автоматизации Office 365:

1. Подключение к приложению Office 365 с помощью PowerShell


Прежде чем начать использовать PowerShell для Office 365, необходимо скачать и установить модуль Office 365 для Windows PowerShell и подключить его к своему инстансу Office 365.

Вот как это сделать:

  • Cкачайте и установите Помощник по входу в Microsoft Online Services для ИТ-специалистов, RTW.
  • Импортируйте модуль PowerShell Online Services для Microsoft Azure Active Directory и Office 365, используя следующие команды в PowerShell:

    1.	Install-Module -Name AzureAD
    2.	
    3.	Install-Module -Name MSOnline
    

  • Введите свои учетные данные администратора Office 365:

    $Cred = Get-Credential

    Теперь вам нужно создать сеанс PowerShell от имени удаленного пользователя. Это можно сделать с помощью следующей команды:

     $O365 = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic -AllowRedirection

  • Теперь импортируйте команды сеанса в локальный сеанс Windows PowerShell:

    Import-PSSession $O365

  • Наконец, подключите сеанс ко всем своим службам Office 365 с помощью этой команды:

    Connect-MsolService –Credential $O365

    Это подключит PowerShell для Office 365 к вашему инстансу Office 365 и позволит управлять им.

2. Подключение к Exchange Online и SharePoint Online с помощью PowerShell


Вы можете подключиться к Microsoft Exchange Online и Microsoft SharePoint Online, чтобы управлять этими службами с помощью PowerShell.

  • Подключение к Exchange Online, по сути, происходит так же, как и подключение к Office 365. Вот соответствующие команды:

    1.	$Cred = Get-Credential
    2.	
    3.	$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic –AllowRedirection
    

  • Подключение к SharePoint Online немного сложнее, и вам потребуется установить дополнительное программное обеспечение.

    Сначала установите компонент командной консоли SharePoint Online.

    Затем запустите из PowerShell следующую команду:

    1.	$admin="Admin@enterprise.onmicrosoft.com"
    2.	
    3.	$orgname="enterprise"
    4.	
    5.	$userCred = Get-Credential -UserName $admin -Message "Укажите пароль."
    6.	
    7.	Connect-SPOService -Url https://$orgname-admin.sharepoint.com -Credential $userCred
    


3. Cписок доступных командлетов PowerShell для Office 365


Командлеты — это основной тип команд PowerShell для Office 365, и вы будете использовать их чаще всего. PowerShell для Office 365, как и большинство интерфейсов командной строки, позволяет просмотреть список всех доступных командлетов для вашей системы.

  • Чтобы получить список всех доступных командлетов для MSOnline, выполните следующую команду:

    Get-Command -module MSOnline
  • Вы также можете запустить ту же команду, чтобы увидеть список всех доступных командлетов для Azure Active Directory, просто заменив переменную -module:

    Get-Command -module AzureAD

4. Cписок всех пользователей Office 365


Одно из наиболее распространенных применений PowerShell — получение списка всех пользователей Office 365. В PowerShell это можно сделать с помощью всего одного командлета: Get-msoluser.

Этот командлет покажет вам всех пользователей Office 365 с действующей лицензией и автоматически получит некоторую базовую информацию о каждом из них: параметры DisplayName, City, Department и ObjectID.

  • Для этого выполните команду:

    1.	Get-MsolUser | Select DisplayName, City, Department, ObjectID 
  • Затем вы можете увидеть количество учетных записей, выполнив аналогичную команду:

    1.	Get-MsolAccountSku
  • А для получения списка доступных вам служб выполните эту команду:

    1.	Get-MsolAccountSku | select -ExpandProperty ServiceStatus
  • С помощью стандартной логики командной строки эти команды можно расширить для фильтрации получаемых результатов. Например, вы можете сгруппировать всех пользователей в зависимости от места, запустив:

    1.	Get-MsolUser | Select DisplayName, UsageLocation | Sort UsageLocation, DisplayName

5. Создание нового пользователя в Office 365 с помощью PowerShell


PowerShell можно использовать для автоматизации процесса создания новых пользователей вашей системы. Для этого воспользуйтесь командлетом New-MsolUser:
Для автоматизации процесса создания пользователей используйте этот командлет с соответствующими переменными:

1.	New-MsolUser -UserPrincipalName JSmith@enterprise.onmicrosoft.com -DisplayName "John Smith" -FirstName “John” -LastName “Smith”

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

6. Изменение пароля в Office 365 с помощью PowerShell


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

Для этого выполните команду:

1.	Set-MsolUserPassword -UserPrincipalName JSmith@netwrixqcspa.onmicrosoft.com -NewPassword P@SSw0rd!

Вы также можете не использовать параметр -NewPassword, и в этом случае система автоматически сгенерирует случайный пароль:

1.	Set-MsolUserPassword -UserPrincipalName JSmith@netwrixqcspa.onmicrosoft.com

Команды Windows PowerShell для отчетности




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

Следует отметить, что большинство командлетов для создания отчетов устарело в январе 2018 года. Корпорация Microsoft заменила эти командлеты новым API отчетов Microsoft Graph. Это сократило возможности PowerShell по созданию отчетов в Office 365, но все старые функции по-прежнему доступны через центр безопасности и соответствия требованиям Office 365.

Тем не менее, в вопросах отчетности о пользователях и группах PowerShell для Office 365 по-прежнему является ключевым инструментом. Ниже мы приведем наиболее полезные отчеты, для которых можно использовать PowerShell.

1. Планы лицензирования


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

Для этого выполните команду:

1.	Get-MsolAccountSku

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

  • AccountSkuld — показывает доступные планы лицензирования для вашей организации;
  • ActiveUnits — количество лицензий, приобретенных вами для определенного плана лицензирования;
  • WarningUnits — количество непродленных лицензий в плане лицензирования, которые истекают по окончании 30-дневного льготного периода;
  • ConsumedUnits — количество лицензий, которые вы назначили пользователям из определенного плана лицензирования.

Вы также можете использовать дополнительный синтаксис для получения дополнительной информации о ваших лицензиях или фильтрации и сортировки результатов. Дополнительные сведения о том, как это сделать, вы найдете документации Microsoft по использованию PowerShell для создания отчетов.

2. Учетные записи пользователей


Еще один полезный командлет для создания отчетов — Get-MsolUser, который возвращает список всех учетных записей пользователей Office 365. Вот как вы можете использовать эту команду.

Выполните команду:


1.	Get-MsolUser

Вы увидите полный список учетных записей пользователей с соответствующими именами. Вы также можете добавить ряд параметров для фильтрации отображаемых учетных записей. Например, чтобы получить список нелицензированных пользователей (пользователей, которые были добавлены в Office 365, но еще не получили лицензии на использование какой-либо из служб), выполните следующую команду:

1.	Get-MsolUser -UnlicensedUsersOnly

Для дальнейшего изучения конкретных учетных записей можно использовать командлет where.

Чтобы скомбинировать два командлета, воспользуйтесь вертикальной чертой «|»: Это означает, что PowerShell для Office 365 возьмет результаты первой команды и отправит их следующей команде. Например, если вы хотите отображать только те учетные записи пользователей, у которых не указано место использования, вы можете использовать такую команду:

1.	Get-MsolUser | Where {{$_.UsageLocation -eq $Null}}

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

3. Отчеты электронной почты


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

  • Вы можете использовать PowerShell для получения информации о каждом почтовом ящике в вашей системе, используя следующую команду:

    1.	Get-mailbox | get-MailboxStatistics
    

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

    1.	Get-Mailbox –RecipientType 'UserMailbox' | Get-MailboxStatistics | Sort-Object LastLogonTime | Where {{$_.LastLogonTime –lt ([DateTime]::Now).AddDays(-30) }} | Format-Table DisplayName, LastLogonTime
    

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

    1.	Get-MailTrafficTopReport
    


Командлеты PowerShell для настройки Office 365




PowerShell также чрезвычайно полезен для настройки среды Office 365. Как мы отмечаем в нашем бесплатном видеокурсе по скрытым параметрам Office 365, которые можно разблокировать с помощью PowerShell, существуют определенные параметры конфигурации, которые доступны только через интерфейс PowerShell.

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

1. Настройте «скрытые» параметры с помощью PowerShell для Office 365


Как мы упоминали ранее, к некоторым параметрам конфигурации Office 365 можно получить доступ только с помощью PowerShell.

Наиболее ярким примером являются параметры конфигурации «Skype для бизнеса». Онлайн-центр администрирования этой службы содержит несколько параметров, позволяющих настроить способ ее работы для вашей организации. Однако с помощью PowerShell вы получите доступ к большему количеству параметров настройки. Например, стандартные конференции в Skype настроены так, что:

  • анонимные пользователи могут автоматически войти в каждую конференцию;
  • участники могут вести запись конференции;
  • все пользователи вашей организации могут быть назначены докладчиками.

Чтобы изменить эти стандартные настройки, вы можете использовать Powershell. Вот команда для отключения всех трех вышеперечисленных параметров:

1.	Set-CsMeetingConfiguration -AdmitAnonymousUsersByDefault $False -AllowConferenceRecording $False -DesignateAsPresenter "None"

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

1.	Set-CsMeetingConfiguration -AdmitAnonymousUsersByDefault $True -AllowConferenceRecording $True -DesignateAsPresenter "Company"

Это лишь один пример скрытых параметров, к которым вы можете получить доступ с помощью PowerShell. Чтобы узнать больше, посетите наш бесплатный онлайн-курс.

2. Управление членством в группах Office 365 с помощью PowerShell


PowerShell имеет несколько командлетов, специально предназначенными для работы с группами Office 365. Например…

Выполните команду, чтобы просмотреть список всех активных групп в Office 365.

1.	Get-MsolGroup

Эта команда также предоставит вам шестнадцатеричный идентификатор для каждой группы, который вам понадобится для управления членством.

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

1.	Get-MsolUser | Select ObjectID.

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

1.	Add-MsolGroupMember -GroupObjectId 5b61d9e1-a13f-4a2d-b5ba-773cebc08eec -GroupMemberObjectId a56cae92-a8b9-

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

1.	Remove-MsolGroupMember

Как Varonis взаимодействует с PowerShell


Varonis дополняет использование PowerShell несколькими способами.

Мониторинг


Varonis отслеживает и проверяет активность в Office 365 (включая изменения конфигурации) и команды PowerShell. Это позволяет вам отслеживать любые изменения, которые администраторы или злоумышленники вносят с помощью PowerShell.

Администраторы должны вносить изменения в конфигурации или разрешения Office 365, имея действующий запрос на изменение. Этот дополнительный уровень проверки обеспечивает бесперебойную работу процессов и процедур.

Злоумышленники пытаются использовать PowerShell для отключения мер безопасности или повышения прав учетной записи. Varonis улавливает эти изменения и отслеживает любые другие действия, которые злоумышленники совершают в Office 365.

Получайте оповещения и принимайте меры


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

Заключение


PowerShell является эффективным инструментом для работы с Office 365. Он позволяет быстро получать доступ к информации из системы, составлять подробные отчеты и выполнять массовые действия. Кроме того, с его помощью можно получить доступ к определенным функциям Office 365, которые недоступны другим способом.

Подключить Powershell к Office 365 относительно просто, и в результате вы получите доступ ко всем перечисленным выше расширенным функциям. Это также позволит вам более легко интегрировать вашу среду Office 365 с платформой кибербезопасности Varonis и обеспечить безопасность конфиденциальных данных.