Управление вашим клиентом Microsoft 365 с помощью удаленной оболочки PowerShell

Опубликовано: 10 Марта, 2023
Управление вашим клиентом Microsoft 365 с помощью удаленной оболочки PowerShell

В предыдущей статье вы увидели, как легко было настроить пробную версию Microsoft 365, а затем приобрести подписку. Чтобы упростить задачу, вы можете управлять своим клиентом Microsoft 365 с помощью удаленной оболочки PowerShell. Ага, ты слышал! Опытные ИТ-администраторы предпочитают использовать PowerShell практически для всего: от управления локальными серверами Exchange до управления Exchange Online.

Хотя вы не можете управлять URL-адресами, как на локальном сервере Exchange, есть много вещей, которыми вы можете управлять с помощью удаленной оболочки PowerShell. Это включает в себя некоторые из следующих действий:

  • Создание новых учетных записей пользователей.
  • Массовое создание учетных записей или групп путем загрузки CSV-файла.
  • Сброс паролей пользователей.
  • Управление информацией об организации.

Итак, как подключиться к вашему арендатору Exchange с помощью PowerShell? Вот общий обзор, и мы рассмотрим каждый шаг:

  • Измените политику выполнения на своем компьютере (Set-ExecutionPolicy RemoteSigned, с ограничениями по умолчанию или с помощью GPO).
  • Если вы подключаетесь с использованием базовой аутентификации, необходимо выполнить 2 шага.
  • Запустите команду, чтобы получить учетные данные, которые вы будете использовать для подключения к вашему клиенту.
  • Создание новой сессии PSSession.
  • Импорт PSSession.
  • Удаление удаленного сеанса PSSession.

Просто обратите внимание, что поддерживаются следующие операционные системы. Я не упомянул Windows 7 и Windows Server 2008 R2, поскольку они уже находятся на стадии EOL (окончание срока службы):

  • Windows 10.
  • Виндовс 8.1.
  • Windows Server 2019.
  • Виндовс сервер 2016.
  • Windows Server 2012 или Windows Server 2012 R2.

Связь

Давайте перейдем к первому шагу для подключения, и это установка политики выполнения на вашем компьютере. Первое, что нужно сделать, это проверить текущую политику выполнения, и вы можете сделать это, выполнив эту команду:

Get-ExecutionPolicy

Как показано выше, он установлен как ограниченный. Теперь вы можете установить удаленную подпись с помощью этой команды:

Set-ExecutionPolicy RemoteSigned

Вам нужно будет ввести «Y», чтобы принять изменение, а затем нажать Enter.

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

WinRM qc or WinRM quickconfig

Как только это будет сделано и служба запустится, вы можете запустить приведенную ниже команду, чтобы проверить базовую аутентификацию:

winrm get winrm/config/client/auth

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

winrm set winrm/config/client/auth @{Basic="true"}

Как видите, GPO не позволяет нам изменить его, поэтому нам нужно внести изменения в локальные политики на машине, а затем повторить попытку.

Откройте Regedit и перейдите к ключу, показанному на скриншоте ниже:

Дважды щелкните клавишу «AllowBasic» и измените значение на 1. Значение 1 означает, что включено, значение с нулем (0) означает отключено. Нажмите «ОК».

Теперь вернитесь в командное окно и повторно запустите команду, и она должна позволить вам запустить команду, но мы уже включили ее в реестре.

Теперь мы можем подключиться к нашему арендатору Microsoft Office 365, выполнив три команды:

$UserCredential = Get-Credential $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection Import-PSSession $Session -DisableNameChecking

Как вы можете видеть выше, как только я выполню первую команду для получения учетных данных, вы увидите окно с запросом сведений, введите данные своей учетной записи Microsoft Office 365. Затем нажмите ОК.

Следующая команда запуска создает новый PSSession:

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

После завершения мы можем использовать следующую команду, как показано выше, для импорта PSSession:

Import-PSSession $Session -DisableNameChecking

Как вы можете видеть выше, он импортировал все команды, и вы можете увидеть их в 2 раза выше.

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

Get-mailbox

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

New-Mailbox -Alias User8 -Name User8 -FirstName User -LastName 8 -DisplayName "User8" -MicrosoftOnlineServicesID [email protected] -Password (ConvertTo-SecureString -String "[email protected]" -AsPlainText -Force) -ResetPasswordOnNextLogon $true

Я создал нового пользователя с именем User8 и создал пароль для пользователя, но он попросит их сбросить его при следующем входе в систему. Как видите, несмотря на то, что я создал новый почтовый ящик, мне все равно нужно войти на портал (portal.office.com) и назначить этому пользователю лицензию.

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

Remove-PSSession $Session

Если бы я не запустил эту команду, время ожидания в конечном итоге истекло бы, но Microsoft советует удалить ваш сеанс, как только вы закончите.

Microsoft 365 и удаленный PowerShell: приятно и просто

Вот и все, как видите, управлять своим клиентом Microsoft 365 с помощью удаленной оболочки PowerShell не так уж и сложно.