Как зайти в powershell: Извините, такой страницы на сайте нет

Содержание

Как в Windows 11 открыть PowerShell от имени администратора

В этой статье рассмотрим несколько способов открыть PowerShell от имени администратора в Windows 11. Пользователи могут запускать консольные приложения в пользовательском режиме или с повышенными привилегиями, также известными как «Запуск от имени администратора». Мы уже рассмотрели в отдельных статьях, как открыть Windows Terminal в Windows 11 и как открыть PowerShell от обычного пользователя. Теперь пора разобраться, как запустить PowerShell от имени администратора в Windows 11.

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

Более того, пользователь может создавать собственные модули и использовать функции и сборки .NET для создания мощных утилит и служб, используя только PowerShell.

Примечание. Чтобы открыть PowerShell от имени администратора, вам необходимо войти в систему, используя учётную запись с правами администратора. В противном случае Windows попросит вас ввести пароль от такой учётной записи в запросе UAC. Если операционная система запускает PowerShell без подтверждения UAC, то, скорее всего, Контроль учётных записей у вас отключен.

Как открыть PowerShell от имени администратора в Windows 11

Использование терминала Windows

Запуск PowerShell от имени администратора из папки Инструменты Windows

Как открыть PowerShell в Windows 11 с помощью поиска

Запуск PowerShell с повышенными привилегиями с помощью команды Powershell.exe

Открыть PowerShell от имени администратора с панели задач Windows 11

Создайте ярлык для открытия PowerShell от имени администратора на рабочем столе

Измените ярлык, чтобы он всегда запускался от имени администратора

Добавить PowerShell от администратора в контекстное меню

Добавить PowerShell от администратора в меню с помощью Winaero Tweaker

Как открыть PowerShell от имени администратора в Windows 11

Возможно, самый быстрый способ открыть PowerShell от администратора в Windows 11 — это использовать новое консольное приложение от Microsoft под названием Windows Terminal. Терминал Windows поддерживает разные профили и по умолчанию использует PowerShell. Помимо терминала Windows, PowerShell можно запустить с повышенными привилегиями из меню «Пуск», Поиска или напрямую из диалогового окна «Выполнить», а также из диспетчера задач. Также вы можете создать специальный ярлык для его запуска с повышенными правами. Давайте рассмотрим эти способы.

Использование терминала Windows

Все, что вам нужно сделать, это нажать Win + X или щелкнуть правой кнопкой мыши кнопку меню «Пуск». Затем выберите Терминал Windows (администратор). После этого Windows 11 откроет новый экземпляр Windows Terminal в режиме PowerShell с повышенными привилегиями.

Обратите внимание: если вы изменили профиль по умолчанию в Терминале Windows, вам нужно выбрать PowerShell с помощью кнопки со стрелкой вниз «Профили».

Запуск PowerShell от имени администратора из папки Инструменты Windows

В отличие от Windows 10, где PowerShell находится в отдельной папке в списке всех приложений, Windows 11 «хранит» PowerShell вместе со всеми системными инструментами в общей директории с названием «Инструменты Windows». Вы можете запустить PowerShell из этой папки.

Чтобы открыть PowerShell от имени администратора в Windows 11, сделайте следующее.

  1. Откройте меню «Пуск» и нажмите кнопку «Все приложения».
  2. В списке приложений найдите значок «Инструменты Windows». Откройте папку Windows Tools и найдите PowerShell.
  3. Щелкните PowerShell правой кнопкой мыши и выберите Запуск от имени администратора.
  4. Точно так же вы можете запустить PowerShell ISE или соответствующие версии 32-битные версии PowerShell.

Еще один быстрый и простой способ запустить PowerShell от имени администратора — использовать Поиск Windows.

Как открыть PowerShell в Windows 11 с помощью поиска

  1. Нажмите кнопку «Пуск» и начните вводить PowerShell. Вы также можете нажать значок поиска на панели задач или использовать кнопки Win + S.
  2. Введите в стоке поиска PowerShell. Windows покажет приложение в результатах поиска.
  3. Щелкните Запуск от имени администратора, чтобы открыть новую оболочку PowerShell с повышенными привилегиями. Кроме того, вы можете нажать клавиши Ctrl + Shift + Enter на клавиатуре.

Вы также можете открыть PowerShell в Windows 11 с помощью диалогового окна «Выполнить» или диспетчера задач с помощью команды Powershell.exe.

Запуск PowerShell с повышенными привилегиями с помощью команды Powershell.exe

  1. Нажмите Win + R, чтобы открыть диалоговое окно «Выполнить», затем введите PowerShell.
  2. Затем нажмите Ctrl + Shift + Enter, чтобы выполнить команду. Очень важно нажимать именно эти клавиши; в противном случае Windows запустит PowerShell с обычными правами.
  3. Как и в случае с «Выполнить», вы можете открыть PowerShell в Windows 11 из диспетчера задач. Откройте Диспетчер задач (Ctrl + Shift + Esc) и нажмите Файл> Запустить новую задачу.
  4. Введите powershell в текстовое поле «Выполнить».
  5. Установите флажок «Создать задачу с правами администратора».

Вот как запустить PowerShell в Windows 11 с повышенными правами с помощью одноименной команды.

Открыть PowerShell от имени администратора с панели задач Windows 11

Если у вас уже запущена консоль PowerShell, вы можете нажать и удерживать клавиши Ctrl и Shift на клавиатуре и щелкнуть значок PowerShell на панели задач. Это мгновенно откроет новое окно PowerShell, работающее от имени администратора.

Если вы часто используете PowerShell в Windows 11, вы можете закрепить его на панели задач, чтобы получить доступ к приложению одним щелчком мыши. Ыы можете быстро это сделать, открыв PowerShell в Windows 11 любым способом, описанным в этой статье. После этого щелкните правой кнопкой мыши значок на панели задач и выберите «Закрепить на панели задач».

После этого вы можете использовать закрепленный значок для запуска PowerShell от имени администратора (с повышенными привилегиями). Просто одновременно нажмите и удерживайте клавиши Ctrl и Shift и щелкните значок PowerShell на панели задач.

Создайте ярлык для открытия PowerShell от имени администратора на рабочем столе

Ярлык на рабочем столе — еще один удобный способ открыть PowerShell от имени администратора.

  1. Щелкните правой кнопкой мыши в любом месте рабочего стола или внутри папки и выберите «Создать»> «Ярлык».
  2. В новом окне введите powershell.exe в поле «Введите местоположение …». Нажмите «Далее».
  3. Назовите ярлык «PowerShell (администратор)» и нажмите «Готово».
  4. Теперь вы можете щелкнуть правой кнопкой мыши созданный вами ярлык и выбрать «Запуск от имени администратора».

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

Измените ярлык, чтобы он всегда запускался от имени администратора
  1. Щелкните только что созданный ярлык правой кнопкой мыши и выберите «Свойства».
  2. На вкладке «Ярлык» нажмите кнопку «Дополнительно».
  3. В следующем окне установите флажок рядом с параметром «Запуск от имени администратора».
  4. Щелкните ОК, чтобы сохранить изменения.

Вот и все. Теперь вы можете открыть PowerShell от имени администратора в Windows 11 с помощью ярлыка на рабочем столе.

Совет: Если вы хотите закрепить PowerShell с повышенными привилегиями на панели задач, щелкните правой кнопкой мыши ярлык и выберите Показать дополнительные параметры, затем щелкните Закрепить на панели задач.

Добавить PowerShell от администратора в контекстное меню

Закрепление ярлыка на панели задач — не единственный быстрый способ открыть PowerShell от имени администратора. Вы можете добавить PowerShell в контекстное меню.

  1. Загрузите REG файлы по этой ссылке.
  2. Дважды щелкните файл Add Open PowerShell here as administrator.reg.
  3. Подтвердите запрос Контроля учётных записей.
  4. Теперь щелкните правой кнопкой мыши любую папку и выберите Показать дополнительные параметры> Открыть PowerShell от администратора.

Файл отмены изменений также находится в архиве, который вы скачали. Дважды щелкните Remove Open PowerShell here as administrator.reg, чтобы удалить команду из контекстного меню.

Также Вы можете сэкономить свое время с помощью Winaero Tweaker. Приложение позволяет добавить PowerShell с повышенными привилегиями в контекстное меню с помощью пары щелчков мыши.

Добавить PowerShell от администратора в меню с помощью Winaero Tweaker
  1. Загрузите Winaero Tweaker и запустите его.
  2. Откройте раздел Context menu в левой панели окна.
  3. Выберите PowerShell as administrator.
  4. Установите флажок рядом с параметром «Add elevated PowerShell to the context menu».
  5. Щелкните Apply changes.
  6. Теперь щелкните правой кнопкой мыши любую папку.
  7. Выберите Показать дополнительные параметры.
  8. Щелкните «Открыть PowerShell».

Теперь вы знаете, как открыть PowerShell от имени администратора в Windows 11. Любой из этих методов работает одинаково хорошо, поэтому вы можете использовать тот, который вам кажется наиболее удобным.

Источник: Winaero

💡Узнавайте о новых статьях быстрее. Подпишитесь на наши каналы в Telegram и Twitter.

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

windows — Как запустить powershell в определенной папке

Создал ярлык powershell консоли в Windows 10, хочу чтобы она запускалась от администратора и в определенной папке. Подскажите как сделать?

Я пробовал параметр запуска указывать, не работает:

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -commnad 'cd F:\'

Также не работает рабочая папка в свойствах ярлыка:

  • windows
  • cmd
  • powershell






2

Используйте PowerShell Profiles:

Находясь в Powershell дайте команду на создание профиля:

New-Item -ItemType file -Path $profile -Force

Откройте профиль на редактирование:

Ise $profile

Впишите в открывшемся редакторе команду перехода в нужный каталог:

cd F:\

Закройте консоль Powershell и попробуйте открыть снова. Вуаля — вы в папке f:\!

PS Статьи в помощь:

  • Профили в PowerShell
  • All About PowerShell Profiles

В проводнике Windows перейдите в адресную строку (Alt + D или Ctrl + L). Введите powershell или powershell_ise и нажмите Enter.

Заходите в папку, зажимаете клавишу shift + правую кнопку мыши и затем в контекстном меню нажимаете Открыть окно команд (или, наверное будет по другому написано — Открыть Powershell).

Для powershell Core
pwsh.exe -wd "c:\your_directory"

Для powershell version <=5.1 (встроенная в windows)

Команда для реестра или при непосредственном запуске powershell
powershell -NoExit -command {Set-Location -Path "c:\your_directory"}

Команда для «cmd подобных» ярлыки, запуск через bat файлы и другие варианты
powershell -NoExit -Command "& {Set-Location -Path \"c:\\your_directory\"}"
или
powershell -NoExit -Command "& Set-Location -Path \"c:\\your_directory\""
или
powershell -NoExit -Command Set-Location -Path "c:\your_directory"

Для ярлыка конкретно
"absolute_path\powershell. exe" -NoExit -Command "& {Set-Location -Path \"c:\\your_directory\"}"

Запуск от имени администратора, правая клавиша мыши — Запуск от имени администратора. Если хотите чтобы ярлык запускал сразу как от имени администратора, то свойства ярлыка=>дополнительно=>запуск от имени администратора или копайте в сторону команды runas и объединяйте команды.

Можно, конечно, переписывать, но в первой ссылке первый ответ, которым я воспользовался. Редактирование реестра тоже помогло, пробовал

https://stackoverflow.com/questions/183901/how-do-i-start-powershell-from-windows-explorer

https://www.iguides.ru/main/os/kak_otkryt_powershell_v_tekushchey_papke/






1







Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации



Почта

Необходима, но никому не показывается




By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.


Подключиться к Exchange Online PowerShell

  • Статья

В этой статье содержатся инструкции по подключению к Exchange Online PowerShell с помощью модуля Exchange Online PowerShell с многофакторной проверкой подлинности (MFA) или без нее.

Модуль Exchange Online PowerShell использует современную проверку подлинности для подключения ко всем средам PowerShell, связанным с Exchange, в Microsoft 365: Exchange Online PowerShell, Security & Compliance PowerShell и автономной Exchange Online Protection (EOP) PowerShell. Дополнительные сведения о модуле Exchange Online PowerShell см. в разделе О модуле Exchange Online PowerShell.

Примечание

Версия 2. 0.5 и более ранние известны как модуль Exchange Online PowerShell V2 (сокращенно модуль EXO V2). Версия 3.0.0 и более поздние известны как модуль Exchange Online PowerShell V3 (сокращенно модуль EXO V3).

Сведения о подключении к Exchange Online PowerShell для автоматизации см. в разделах Проверка подлинности только для приложений для автоматических сценариев и Использование управляемых удостоверений Azure для подключения к Exchange Online PowerShell.

Чтобы подключиться к Exchange Online PowerShell из C#, см. раздел Использование C# для подключения к Exchange Online PowerShell.

Что нужно знать перед началом?

  • Требования для установки и использования модуля описаны в разделе Установка и обслуживание модуля Exchange Online PowerShell.

    Примечание

    Если вы используете модуль EXO V3 (версия 3.0.0 или более поздняя) и не используете переключатель UserRPSSession в команде Connect-ExchangeOnline , у вас есть доступ только к командлетам REST API . Для получения дополнительной информации см. Обновления для модуля EXO V3).

    Удаленная поддержка PowerShell в Exchange Online PowerShell будет прекращена. Дополнительные сведения см. в статье Объявление об устаревании протокола Remote PowerShell (RPS) в Exchange Online PowerShell.

  • После подключения командлеты и параметры, к которым у вас есть или у которых нет доступа, контролируются управлением доступом на основе ролей (RBAC). Дополнительные сведения см. в разделе Разрешения в Exchange Online.

    Чтобы найти разрешения, необходимые для запуска определенных командлетов Exchange Online, см. статью Поиск разрешений, необходимых для запуска любого командлета Exchange.

Совет

Возникли проблемы? Спросите на форуме Exchange Online.

Шаг 1. Загрузите модуль Exchange Online PowerShell

Примечание

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

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

 Import-Module ExchangeOnlineManagement
 

Шаг 2. Подключение и аутентификация

Примечание

Команды подключения, скорее всего, завершатся ошибкой, если путь к профилю учетной записи, которую вы использовали для подключения, содержит специальные символы PowerShell (например, $ ). Обходной путь — подключиться с использованием другой учетной записи, путь к профилю которой не содержит специальных символов.

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

 Connect-ExchangeOnline -UserPrincipalName  [-UseRPSSession] [-ExchangeEnvironmentName ] [-ShowBanner:$false] [-DelegatedOrganization ] [ -PSSessionOption $ProxyOptions]
 

Подробные сведения о синтаксисе и параметрах см. в разделе Connect-ExchangeOnline.

  • — это ваша учетная запись в формате основного имени пользователя (например, navin@contoso. onmicrosoft.com ).

  • Если в модуле EXO V3 (v3.0.0 или более поздней версии) не используется переключатель UseRPSSession , вы используете только командлеты REST API. Для получения дополнительной информации см. Обновления для модуля EXO V3).

  • При использовании ExchangeEnvironmentName , вам не нужно использовать параметры ConnectionUri или AzureADAuthorizationEndPointUrl . Общие значения параметра ExchangeEnvironmentName описаны в следующей таблице:

    Окружающая среда Значение
    Microsoft 365 или Microsoft 365 GCC н/д *
    Microsoft 365 GCC Высокий O365USGovGCCHHigh
    Microsoft 365 Министерство обороны США О365УСГовДоД
    Офис 365 Германия O365ГерманияОблако
    Office 365 под управлением 21Vianet O365Китай

    * Необходимое значение O365Default также является значением по умолчанию, поэтому вам не нужно использовать параметр ExchangeEnvironmentName в средах Microsoft 365 или Microsoft 365 GCC.

  • Параметр DelegatedOrganization указывает организацию заказчика, которой вы хотите управлять в качестве авторизованного партнера Microsoft. Дополнительные сведения см. в примерах подключения далее в этой статье.

  • Если вы находитесь за прокси-сервером, вы можете использовать параметр PSSessionOption в команде подключения, но только если вы также используете переключатель UseRPSSession . Сначала выполните эту команду: $ProxyOptions = New-PSSessionOption -ProxyAccessType , где IEConfig , WinHttpConfig или AutoDetect . Затем используйте значение $ProxyOptions для параметра PSSessionOption . Дополнительные сведения см. в разделе New-PSSessionOption.

  • В зависимости от характера вашей организации вы можете опустить параметр UserPrincipalName в команде подключения. Вместо этого вы вводите имя пользователя и пароль или выбираете сохраненные учетные данные после запуска Команда Connect-ExchangeOnline . Если не работает, то нужно использовать параметр UserPrincipalName .

  • Если вы не используете MFA, вы должны иметь возможность использовать параметр Credential вместо параметра UserPrincipalName . Сначала выполните команду $Credential = Get-Credential , введите свое имя пользователя и пароль, а затем используйте имя переменной для параметра Credential ( -Credential $Credential ). Если не работает, то нужно использовать параметр UserPrincipalName .

  • Для использования модуля в PowerShell 7 требуется версия 2.0.4 или более поздняя.

Примеры подключения в следующих разделах используют современную проверку подлинности и не могут использовать обычную проверку подлинности.

Подключение к Exchange Online PowerShell с интерактивным запросом на вход

  1. Следующие примеры работают в Windows PowerShell 5.1 и PowerShell 7 для учетных записей с многофакторной аутентификацией или без нее:

    • В этом примере выполняется подключение к Exchange Online PowerShell в организации Microsoft 365 или Microsoft 365 GCC :

       Connect-ExchangeOnline-UserPrincipalName navin@contoso. onmicrosoft.com
       
    • Этот пример подключается к Exchange Online PowerShell в организации Microsoft GCC High :

       Connect-ExchangeOnline -UserPrincipalName [email protected] -ExchangeEnvironmentName O365USGovGCCHigh
       
    • Этот пример подключается к Exchange Online PowerShell в организации Microsoft 365 DoD :

       Connect-ExchangeOnline -UserPrincipalName [email protected] -ExchangeEnvironmentName O365USGovDoD
       
    • Этот пример подключается к Exchange Online PowerShell в организации Office 365 в Германии :

       Connect-ExchangeOnline -UserPrincipalName [email protected] -ExchangeEnvironmentName O365GermanyCloud
       
  2. В открывшемся окне входа введите свой пароль и нажмите Войти .

    Примечание

    В PowerShell 7 по умолчанию используется единый вход (SSO) на основе браузера, поэтому запрос на вход открывается в веб-браузере по умолчанию, а не в отдельном диалоговом окне.

  3. Только MFA : Код подтверждения создается и доставляется на основе варианта ответа, настроенного для вашей учетной записи (например, текстовое сообщение или приложение Microsoft Authenticator на вашем устройстве).

    В открывшемся окне подтверждения введите код подтверждения и нажмите Подтвердить .

Эксклюзивные методы подключения PowerShell 7
  • В PowerShell 7 для учетных записей без MFA этот пример запрашивает учетные данные в окне PowerShell:

     Connect-ExchangeOnline -UserPrincipalName [email protected] -InlineCredential
     
  • В PowerShell 7 для учетных записей с MFA или без него в этом примере используется другой компьютер для проверки подлинности и завершения подключения. Как правило, вы используете этот метод на компьютерах без веб-браузеров (пользователи не могут вводить свои учетные данные в PowerShell 7):

    1. Выполните следующую команду на компьютере, к которому вы хотите подключиться:

       Connect-ExchangeOnline-устройство
       

      Команда подключения ожидает следующего вывода:

      Чтобы войти в систему, откройте в веб-браузере страницу https://microsoft. com/devicelogin и введите код для аутентификации.

      Обратите внимание на кодовое значение .

    2. На любом другом устройстве с веб-браузером и доступом в Интернет откройте https://microsoft.com/devicelogin и введите значение кода из предыдущего шага.

    3. Введите свои учетные данные на появившихся страницах.

    4. В запросе подтверждения нажмите Продолжить . Следующее сообщение должно указывать на успех, и вы можете закрыть браузер или вкладку.

    5. Команда из шага 1 продолжает подключать вас к Exchange Online PowerShell.

Подключение к Exchange Online PowerShell без запроса на вход (автоматические сценарии)

Полные инструкции см. в разделах Проверка подлинности только для приложений для автоматических сценариев в Exchange Online PowerShell и Безопасность и соответствие требованиям PowerShell.

Подключение к Exchange Online PowerShell в организациях клиентов

Дополнительные сведения о партнерах и организациях клиентов см. в следующих разделах:

  • Что такое программа поставщиков облачных решений (CSP)?.
  • Введение в детализированные делегированные права администратора (GDAP)

В этом примере выполняется подключение к организациям-клиентам в следующих сценариях:

  • Подключение к организации-клиенту с помощью учетной записи CSP.

  • Подключитесь к организации клиента с помощью GDAP.

  • Подключитесь к организации заказчика в качестве гостя.

     Connect-ExchangeOnline -UserPrincipalName [email protected] -DelegatedOrganization adatum.onmicrosoft.com
     

Подключение к Exchange Online PowerShell с помощью управляемого удостоверения

Дополнительные сведения см. в разделе Использование управляемых удостоверений Azure для подключения к Exchange Online PowerShell.

  • Назначенный системой управляемый идентификатор:

     Connect-ExchangeOnline-ManagedIdentity-Organization "cohovinyard. onmicrosoft.com"
     
  • Назначенный пользователем управляемый идентификатор:

     Connect-ExchangeOnline -ManagedIdentity -Organization "constoso.onmicrosoft.com" -ManagedIdentityAccountId 
     

Шаг 3. Отключитесь, когда закончите

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

 Disconnect-ExchangeOnline
 

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

 Disconnect-ExchangeOnline -Confirm:$false
 

Примечание

Команда отключения, скорее всего, завершится ошибкой, если путь к профилю учетной записи, которую вы использовали для подключения, содержит специальные символы PowerShell (например, $ ). Обходной путь — подключиться с использованием другой учетной записи, путь к профилю которой не содержит специальных символов.

Откуда вы знаете, что вы успешно подключились?

Если вы не получили никаких сообщений об ошибках, вы успешно подключились. Быстрый тест — запустить командлет Exchange Online PowerShell, например, Get-AcceptedDomain , и посмотреть результаты.

Если вы получаете ошибки, проверьте следующие требования:

  • Распространенной проблемой является неправильный пароль. Повторите шаги подключения и обратите особое внимание на имя пользователя и пароль, которые вы используете.

  • Чтобы предотвратить атаки типа «отказ в обслуживании» (DoS), при подключении с помощью переключателя UserRPSSession вы ограничены пятью открытыми подключениями к Exchange Online PowerShell.

  • Учетная запись, которую вы используете для подключения, должна быть включена для удаленной оболочки PowerShell. Дополнительные сведения см. в статье Включение или отключение доступа к Exchange Online PowerShell.

  • Трафик TCP-порта 80 должен быть открыт между вашим локальным компьютером и Microsoft 365. Вероятно, он открыт, но это следует учитывать, если в вашей организации действует ограничительная политика доступа в Интернет.

  • Если в вашей организации используется федеративная проверка подлинности, а ваш поставщик удостоверений (IDP) и/или служба маркеров безопасности (STS) не являются общедоступными, вы не можете использовать федеративную учетную запись для подключения к Exchange Online PowerShell. Вместо этого создайте и используйте нефедеративную учетную запись в Microsoft 365 для подключения к Exchange Online PowerShell.

  • Для подключений на основе REST к Exchange Online PowerShell требуется модуль PowerShellGet и, в зависимости от зависимости, модуль PackageManagement, поэтому вы получите ошибки, если попытаетесь подключиться без их установки. Например, вы можете увидеть следующую ошибку:

    Термин «Update-ModuleManifest» не распознается как имя командлета, функции, файла сценария или исполняемой программы. Проверьте правильность написания имени или, если был указан путь, убедитесь, что путь указан правильно, и повторите попытку.

    Дополнительные сведения о требованиях к модулям PowerShellGet и PackageManagement см. в разделе PowerShellGet для подключений на основе REST в Windows.

  • После подключения вы можете получить сообщение об ошибке следующего вида:

    Не удалось загрузить файл или сборку «System.IdentityModel.Tokens.Jwt, версия = <версия>, культура = нейтральная, PublicKeyToken = ». Не удалось найти или загрузить определенный файл.

    Эта ошибка возникает, когда модуль Exchange Online PowerShell конфликтует с другим модулем, импортированным в пространство выполнения. Попробуйте подключиться в новом окне Windows PowerShell, прежде чем импортировать другие модули.

Приложение: Сравнение старого и нового способов подключения

В этом разделе делается попытка сравнить старые методы подключения, которые были заменены модулем Exchange Online PowerShell. Процедуры обычной проверки подлинности и токена OAuth включены только для исторической справки и больше не поддерживаются.

Подключение без многофакторной проверки подлинности

  • Модуль Exchange Online PowerShell с интерактивным запросом учетных данных :

     Connect-ExchangeOnline-UserPrincipalName [email protected]
     
  • Модуль Exchange Online PowerShell без интерактивного запроса учетных данных :

     $secpasswd = ConvertTo-SecureString '' -AsPlainText -Force
    $o365cred = новый объект System.Management.Automation.PSCredential ("[email protected]", $secpasswd)
    Connect-ExchangeOnline-Учетные данные $o365cred
     
  • Базовая аутентификация :

     $secpasswd = ConvertTo-SecureString '' -AsPlainText -Force
    $o365cred = новый объект System.Management.Automation.PSCredential ("[email protected]", $secpasswd)
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/PowerShell-LiveID/ -Credential $o365cred -Authentication Basic -AllowRedirection
    Import-PSSession $Session
     
  • New-PSSession с токеном OAuth :

     $oauthTokenAsPassword = ConvertTo-SecureString '' -AsPlainText -Force
    $o365cred = New-Object System. Management.Automation.PSCredential ("[email protected]", $oauthTokenAsPassword)
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/PowerShell-LiveID/?BasicAuthToOAuthConversion=true -Credential $o365cred -Authentication Basic -AllowRedirection
    Import-PSSession $Session
     

Подключение с многофакторной проверкой подлинности

  • Модуль Exchange Online PowerShell с интерактивным запросом учетных данных :

     Connect-ExchangeOnline-UserPrincipalName [email protected]
     
  • Обычная аутентификация : Недоступно.

  • New-PSSession с токеном OAuth : недоступно.

Подключение к организации-заказчику с учетной записью CSP

  • Модуль Exchange Online PowerShell :

     Connect-ExchangeOnline -UserPrincipalName admin@contoso. onmicrosoft.com -DelegatedOrganization delegated.onmicrosoft.com
     
  • Базовая аутентификация :

     $secpasswd = ConvertTo-SecureString '' -AsPlainText -Force
    $o365cred = новый объект System.Management.Automation.PSCredential ("[email protected]", $secpasswd)
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/PowerShell-LiveID/?DelegatedOrg=delegated.onmicrosoft.com&email=SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}@delegated.onmicrosoft.com -Credential $o365cred -Authentication Basic -AllowRedirection
    Import-PSSession $Session
     
  • New-PSSession с токеном OAuth :

     $oauthTokenAsPassword = ConvertTo-SecureString '' -AsPlainText -Force
    $o365cred = New-Object System.Management.Automation.PSCredential ("[email protected]", $oauthTokenAsPassword)
    $Session = New-PSSession -ConfigurationName Microsoft. Exchange -ConnectionUri https://outlook.office365.com/PowerShell-LiveID/? DelegatedOrg=delegated.onmicrosoft.com&BasicAuthToOAuthConversion=true&email=SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}@delegated.onmicrosoft.com -Credential $o365cred -Authentication Basic -AllowRedirection
    Import-PSSession $Session
     

Подключение к организации клиента с помощью GDAP

  • Модуль Exchange Online PowerShell :

     Connect-ExchangeOnline -UserPrincipalName [email protected] -DelegatedOrganization delegated.onmicrosoft.com
     
  • Базовая аутентификация :

     $secpasswd = ConvertTo-SecureString '' -AsPlainText -Force
    $o365cred = новый объект System.Management.Automation.PSCredential ("[email protected]", $secpasswd)
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/PowerShell-LiveID/?DelegatedOrg=delegated. onmicrosoft.com&email=SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}@delegated .onmicrosoft.com -Credential $o365cred -Authentication Basic -AllowRedirection
    Import-PSSession $Session
     
  • New-PSSession с токеном OAuth :

     $oauthTokenAsPassword = ConvertTo-SecureString '' -AsPlainText -Force
    $o365cred = New-Object System.Management.Automation.PSCredential ("[email protected]", $oauthTokenAsPassword)
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/PowerShell-LiveID/? DelegatedOrg=delegated.onmicrosoft.com&BasicAuthToOAuthConversion=true&email=SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}@delegated.onmicrosoft.com -Credential $o365cred -Authentication Basic -AllowRedirection
    Import-PSSession $Session
     

Подключение к организации заказчика в качестве гостя

  • Модуль Exchange Online PowerShell :

     Connect-ExchangeOnline -UserPrincipalName admin@contoso. onmicrosoft.com -DelegatedOrganization delegated.onmicrosoft.com
     
  • Базовая аутентификация :

     $secpasswd = ConvertTo-SecureString '' -AsPlainText -Force
    $o365cred = новый объект System.Management.Automation.PSCredential ("[email protected]", $secpasswd)
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/PowerShell-LiveID/?DelegatedOrg=delegated.onmicrosoft.com&email=SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}@delegated .onmicrosoft.com -Credential $o365cred -Authentication Basic -AllowRedirection
    Import-PSSession $Session
     
  • New-PSSession с токеном OAuth :

     $oauthTokenAsPassword = ConvertTo-SecureString "' -AsPlainText -Force
    $o365cred = New-Object System.Management.Automation.PSCredential ("[email protected]", $oauthTokenAsPassword)
    $Session = New-PSSession -ConfigurationName Microsoft. Exchange -ConnectionUri https://outlook.office365.com/PowerShell-LiveID/?DelegatedOrg=delegated.onmicrosoft.com&BasicAuthToOAuthConversion=true&email=SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}@delegated.onmicrosoft.com -Credential $o365cred -Authentication Basic -AllowRedirection
    Import-PSSession $Session
     

Подключиться для запуска автоматических сценариев

  • Модуль Exchange Online PowerShell :

    • Отпечаток сертификата :

      Примечание

      Параметр CertificateThumbprint поддерживается только в Microsoft Windows.

       Connect-ExchangeOnline -CertificateThumbPrint "012THISISADEMOTHUMBPRINT" -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Организация "contoso.onmicrosoft.com"
       
    • Объект сертификата :

       Connect-ExchangeOnline -Certificate <%X509Certificate2Object%> -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Организация "contoso. onmicrosoft.com"
       
    • Файл сертификата :

       Connect-ExchangeOnline -CertificateFilePath "C:\Users\navin\Desktop\automation-cert.pfx" -CertificatePassword (ConvertTo-SecureString -String "" -AsPlainText -Force) -AppID "36ee4c6c-0812-40a2-b820 -b22ebd02bce3" - Организация "contoso.onmicrosoft.com"
       

    Дополнительные сведения см. в статьях Проверка подлинности только для приложений для автоматических сценариев в Exchange Online PowerShell и Безопасность и соответствие требованиям PowerShell.

  • Базовая аутентификация :

     $secpasswd = ConvertTo-SecureString '' -AsPlainText -Force
    $o365cred = новый объект System.Management.Automation.PSCredential ("[email protected]", $secpasswd)
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/PowerShell-LiveID/ -Credential $o365cred -Authentication Basic -AllowRedirection
    Import-PSSession $Session
     
  • New-PSSession с токеном OAuth :

     $oauthTokenAsPassword = ConvertTo-SecureString '' -AsPlainText -Force
    $o365cred = New-Object System. Management.Automation.PSCredential ("[email protected]", $oauthTokenAsPassword)
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/PowerShell-LiveID/?BasicAuthToOAuthConversion=true&email=SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}@contoso.onmicrosoft.com -Credential $o365cred -Authentication Basic -AllowRedirection
    Import-PSSession $Session
     

Подключение с помощью управляемого удостоверения

  • Модуль Exchange Online PowerShell :

    • Назначаемый системой управляемый идентификатор :

       Connect-ExchangeOnline-ManagedIdentity-Organization "contoso.onmicrosoft.com"
       
    • Назначаемый пользователем управляемый идентификатор :

       Connect-ExchangeOnline -ManagedIdentity -Organization "contoso.onmicrosoft.com" -ManagedIdentityAccountId 
       

    Дополнительные сведения см. в разделе Использование управляемых удостоверений Azure для подключения к Exchange Online PowerShell.

  • Обычная аутентификация : Недоступно.

  • New-PSSession с токеном OAuth : недоступно.

Вход с помощью Azure PowerShell

  • Статья

Azure PowerShell поддерживает несколько методов проверки подлинности. Самый простой способ начать с
Azure Cloud Shell, который автоматически выполняет вход в систему. С локальным
установить, вы можете войти в систему в интерактивном режиме через браузер. При написании скриптов для автоматизации,
рекомендуемый подход — использовать субъект-службу
с необходимыми разрешениями. Когда вы максимально ограничиваете права входа в систему для вашего
случае использования, вы поможете защитить свои ресурсы Azure.

Первоначально вы вошли в первую подписку, которую Azure возвращает, если у вас есть доступ к более чем
одна подписка. Команды выполняются для этой подписки по умолчанию. Чтобы изменить свой активный
подписку на сеанс, используйте Set-AzContext
командлет. Чтобы изменить активную подписку и сохранить ее между сеансами в одной и той же системе,
используйте командлет Select-AzContext.

Важно

Ваши учетные данные используются несколькими сеансами PowerShell до тех пор, пока вы остаетесь в системе.
Дополнительные сведения см. в разделе Объекты контекста Azure PowerShell.

Для интерактивного входа используйте
Командлет Connect-AzAccount.

 Connect-AzAccount
 

Этот командлет по умолчанию представляет интерактивный запрос входа в систему на основе браузера.

Используйте командлет Get-AzContext для сохранения идентификатора клиента
в переменной, которая будет использоваться в следующих двух разделах этой статьи.

 $tenantId = (Get-AzContext). Tenant.Id
 

Аутентификация по коду устройства

Можно указать параметр UseDeviceAuthentication для использования аутентификации по коду устройства вместо
элемент управления браузера.

 Connect-AzAccount-UseDeviceAuthentication
 

Субъекты-службы — это неинтерактивные учетные записи Azure. Как и другие учетные записи пользователей, их разрешения
управляются с помощью Azure Active Directory. Предоставляя субъекту-службе только те разрешения, которые он
потребности, ваши сценарии автоматизации остаются в безопасности.

Чтобы узнать, как создать субъект-службу для использования с Azure PowerShell, см.
Создайте субъект-службу Azure с помощью Azure PowerShell.

Чтобы войти с помощью субъекта-службы, используйте Параметр ServicePrincipal Connect-AzAccount
командлет. Вам также потребуется идентификатор приложения субъекта-службы, учетные данные для входа и клиент.
Идентификатор, связанный с субъектом-службой. Способ входа с помощью субъекта-службы зависит от того,
он настроен для аутентификации на основе пароля или сертификата.

Проверка подлинности на основе пароля

Создайте субъект-службу, который будет использоваться в примерах в этом разделе. Для получения дополнительной информации о
создание субъектов-служб, см.
Создайте субъект-службу Azure с помощью Azure PowerShell.

 $sp = New-AzADServicePrincipal-DisplayName ServicePrincipalName
 

Предупреждение

Предоставленный секрет субъекта-службы хранится в файле AzureRmContext.json в вашем пользователе.
профиль ( $env:USERPROFILE\.Azure ). Убедитесь, что этот каталог имеет соответствующую защиту.

Чтобы получить учетные данные субъекта-службы в качестве соответствующего объекта, используйте метод
Командлет Get-Credential. Этот
командлет предлагает ввести имя пользователя и пароль. Используйте субъект-службу идентификатор приложения
для имени пользователя и преобразовать его секрет в обычный текст для пароля.

 # Получите простой текстовый пароль для использования с `Get-Credential` в следующей команде.
$sp.PasswordCredentials.SecretText
$pscredential = Get-Credential-UserName $sp.AppId
Connect-AzAccount -ServicePrincipal-Credential $pscredential-Tenant $tenantId
 

Для сценариев автоматизации необходимо создать учетные данные из AppId субъекта-службы и
SecretText :

 $SecureStringPwd = $sp.PasswordCredentials.SecretText | ConvertTo-SecureString -AsPlainText -Force
$pscredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $sp.AppId, $SecureStringPwd
Connect-AzAccount -ServicePrincipal-Credential $pscredential-Tenant $tenantId
 

При автоматизации подключений субъектов-служб убедитесь, что вы используете надежные методы хранения паролей.

Проверка подлинности на основе сертификата

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

 Connect-AzAccount -ApplicationId $appId -Tenant $tenantId -CertificateThumbprint 
 

При использовании субъекта-службы вместо зарегистрированного приложения укажите ServicePrincipal
и укажите идентификатор приложения субъекта-службы в качестве значения для ApplicationId 9.0036
параметр.

 Connect-AzAccount -ServicePrincipal -ApplicationId $servicePrincipalId -Tenant $tenantId -CertificateThumbprint 
 

В Windows PowerShell 5.1 хранилищем сертификатов можно управлять и проверять с помощью
PKI-модуль. Для PowerShell 7.x и более поздних версий процесс более сложен.
Следующие сценарии показывают, как импортировать существующий сертификат в хранилище сертификатов.
доступный через PowerShell.

Импорт сертификата в Windows PowerShell 5.1
 # Импорт PFX
$credentials = Get-Credential -Message 'Укажите пароль закрытого ключа PFX'
Import-PfxCertificate -FilePath <путь к сертификату> -Password $credentials.Password -CertStoreLocation cert:\CurrentUser\My
 
Импорт сертификата в PowerShell 7.x и более поздних версий
 # Импорт PFX
$storeName = [System.Security.Cryptography.X509Certificates.StoreName]::My
$storeLocation = [System.Security.Cryptography.X509Certificates.StoreLocation]::CurrentUser
$store = [Система.Безопасность.Криптография.X509Сертификаты.X509Store]::new($storeName, $storeLocation)
$certPath = <путь к сертификату>
$credentials = Get-Credential -Message "Предоставить пароль закрытого ключа PFX"
$flag = [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable
$certificate = [System.Security.Cryptography.X509Certificates. X509Certificate2]::new($certPath, $credentials.Password, $flag)
$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
$store.Добавить($Сертификат)
$store.Закрыть()
 

Управляемые удостоверения — это функция Azure Active Directory. Управляемые удостоверения — это служба
участники, назначенные ресурсам, работающим в Azure. Вы можете использовать субъект-службу управляемой идентификации
для входа и маркер доступа только для приложения для доступа к другим ресурсам. Только управляемые удостоверения
доступны для ресурсов, работающих в облаке Azure.

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

 Connect-AzAccount-Identity
 

В следующем примере выполняется подключение с использованием удостоверения управляемой службы myUserAssignedIdentity . Это
добавляет назначенное пользователем удостоверение к виртуальной машине, затем подключается, используя ClientId из
назначенный пользователем идентификатор. Для получения дополнительной информации см.
Настройте управляемые удостоверения для ресурсов Azure на виртуальной машине Azure.

 $identity = Get-AzUserAssignedIdentity -ResourceGroupName 'myResourceGroup' -Name 'myUserAssignedIdentity'
Get-AzVM -ResourceGroupName contoso -Name testvm | Update-AzVM -IdentityType UserAssigned -IdentityId $identity.Id
Connect-AzAccount -Identity -AccountId $identity.ClientId # Запуск на виртуальной машине
Учетная запись SubscriptionName TenantId Environment
------- ---------------- -------- -----------
гггг-гггг-гггг-гггг Подписка1 хххх-хххх-хххх-хххх AzureCloud
 

Если ваша учетная запись связана с несколькими арендаторами, для входа требуется параметр Tenant
уточнять при подключении. Этот параметр работает с любым методом входа.