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 и обеспечить безопасность конфиденциальных данных.
    Varonis Systems
    Защита от внутренних угроз и комплексных кибератак

    Комментарии 6

      +1

      Спасибо за статью, лично мне может быть пооезно!

        +1

        Ух ты! Емко и весьма полезно. И почему у нас это не используется. Надо будет поднять вопрос. Спасибо.

          +1
          В конце названия статьи не хватает слова «администраторам»
            0
            почему бы и нет)
            0
            !!!
              +1

              Я считаю вы не рассказали как найти $orgname="enterprise". Потому что если сам не создавал тенант, будешь долго искать.

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое