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