11 команд PowerShell для Office 365, которые полезно знать

Использование 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 и обеспечить безопасность конфиденциальных данных.

Let’s block ads! (Why?)

Read More

Recent Posts

Роскомнадзор рекомендовал хостинг-провайдерам ограничить сбор данных с сайтов для иностранных ботов

Центр управления связью общего пользования (ЦМУ ССОП) Роскомнадзора рекомендовал компаниям из реестра провайдеров ограничить доступ поисковых ботов к информации на российских сайтах.…

18 часов ago

Apple возобновила переговоры с OpenAI и Google для интеграции ИИ в iPhone

Apple возобновила переговоры с OpenAI о возможности внедрения ИИ-технологий в iOS 18, на основе данной операционной системы будут работать новые…

6 дней ago

Российская «дочка» Google подготовила 23 иска к крупнейшим игрокам рекламного рынка

Конкурсный управляющий российской «дочки» Google подготовил 23 иска к участникам рекламного рынка. Общая сумма исков составляет 16 млрд рублей –…

6 дней ago

Google завершил обновление основного алгоритма March 2024 Core Update

Google завершил обновление основного алгоритма March 2024 Core Update. Раскатка обновлений была завершена 19 апреля, но сообщил об этом поисковик…

6 дней ago

Нейросети будут писать тексты объявления за продавцов на Авито

У частных продавцов на Авито появилась возможность составлять текст объявлений с помощью нейросети. Новый функционал доступен в категории «Обувь, одежда,…

6 дней ago

Объявлены победители международной премии Workspace Digital Awards-2024

24 апреля 2024 года в Москве состоялась церемония вручения наград международного конкурса Workspace Digital Awards. В этом году участниками стали…

7 дней ago