Разрешение или отключение доступа к Exchange Online PowerShell
Exchange Online PowerShell — это административный интерфейс, позволяющий администраторам управлять Exchange Online частью организации Microsoft 365 из командной строки (включая множество функций безопасности в Exchange Online Protection и Microsoft Defender для Office 365).
По умолчанию всем учетным записям в Microsoft 365 разрешено использовать Exchange Online PowerShell. Этот доступ не предоставляет пользователям возможности администрирования в организации. Они по-прежнему ограничены управлением доступом на основе ролей (RBAC) (например, они могут настраивать параметры в своем почтовом ящике или управлять группами рассылки, которыми они владеют).
Администраторы могут использовать процедуры, описанные в этой статье, чтобы отключить или включить возможность подключения пользователя к Exchange Online PowerShell.
Что нужно знать перед началом работы
- Предполагаемое время для завершения каждой процедуры: менее 5 минут
- Процедуры, описанные в этой статье, доступны только в Exchange Online PowerShell. Сведения о том, как подключиться к Exchange Online PowerShell, см. в статье Подключение к Exchange Online PowerShell.
- Перед выполнением процедур, описанных в этой статье, вам необходимо назначить разрешения. Возможны следующие варианты:
- Exchange Online RBAC: членство в группах ролей «Управление организацией» или «Управление получателями«.
- Microsoft Entra RBAC: членство в роли глобального администратора.
Чтобы быстро и глобально отключить доступ к PowerShell в организации, остерегайтесь команд, например Get-User | Set-User -RemotePowerShellEnabled $false без учета учетных записей администратора. Используйте процедуры, описанные в этой статье, чтобы выборочно удалить удаленный доступ к PowerShell или сохранить доступ для тех, кому он нужен, используя следующий синтаксис в глобальной команде удаления: Get-User | Where-Object | Set-User -RemotePowerShellEnabled $false .
Если вы случайно заблокируете доступ к PowerShell, создайте новую учетную запись администратора в Центр администрирования Microsoft 365, а затем используйте эту учетную запись, чтобы предоставить себе доступ к PowerShell с помощью процедур, описанных в этой статье.
Возникли проблемы? Обратитесь за помощью к участникам форумов Exchange. Посетите форумы по Exchange Online или Exchange Online Protection.
Включение или отключение доступа к удаленной оболочке PowerShell для пользователя
В этом примере отключается доступ к Exchange Online PowerShell для пользователя david@contoso.onmicrosoft.com.
Set-User -Identity david@contoso.onmicrosoft.com -RemotePowerShellEnabled $falseВ этом примере предоставляется доступ к Exchange Online PowerShell для пользователя chris@contoso.onmicrosoft.com.
Set-User -Identity chris@contoso.onmicrosoft.com -RemotePowerShellEnabled $trueОтключение доступа к удаленной оболочке PowerShell для нескольких пользователей
Отключить доступ к удаленной оболочке PowerShell для определенной группы пользователей можно несколькими способами, указанными ниже.
- Фильтрация пользователей по существующему атрибуту. Этот метод предполагает, что все учетные записи целевых пользователей имеют уникальный фильтруемый атрибут. Некоторые атрибуты, такие как должность, отдел, адрес и телефонный номер, отображаются только при использовании командлета Get-User. Другие же, такие как атрибуты от CustomAttribute1 до CustomAttribute15, отображаются только при использовании командлета Get-Mailbox.
- Использовать список определенных пользователей. После создания списка определенных пользователей вы можете использовать этот список, чтобы отключить их доступ к Exchange Online PowerShell.
Фильтрация пользователей на основе существующего атрибута
Чтобы отключить доступ к Exchange Online PowerShell для любого количества пользователей на основе существующего атрибута, используйте следующий синтаксис:
$ = -ResultSize unlimited -Filter $ | foreach
В этом примере показано отключение доступа к удаленной оболочке PowerShell для всех пользователей, атрибут Title которых содержит значение Sales Associate.
$DSA = Get-User -ResultSize unlimited -Filter "(RecipientType -eq 'UserMailbox') -and (Title -like 'Sales Associate*')" $DSA | foreach
Использование списка определенных пользователей
Чтобы отключить доступ к удаленной оболочке PowerShell для списка определенных пользователей, введите команду в следующем формате:
$ = Get-Content $ | foreach
В следующем примере текстовый файл C:\My Documents\NoPowerShell.txt используется для идентификации пользователей по их учетным записям. Текстовый файл должен содержать по одной учетной записи в каждой строке следующим образом:
akol@contoso.onmicrosoft.com
tjohnston@contoso.onmicrosoft.com
kakers@contoso.onmicrosoft.comПосле заполнения текстового файла учетными записями пользователей, которые требуется обновить, выполните следующие команды:
$NoPS = Get-Content "C:\My Documents\NoPowerShell.txt" $NoPS | foreach
Просмотр состояния доступа Exchange Online PowerShell для пользователей
Чтобы просмотреть состояние доступа PowerShell для определенного пользователя, замените именем пользователя или именем участника-пользователя (UPN) и выполните следующую команду:
Get-User -Identity "" | Format-List RemotePowerShellEnabledЧтобы отобразить состояние доступа Exchange Online PowerShell для всех пользователей, выполните следующую команду:
Get-User -ResultSize unlimited | Format-Table -Auto Name,DisplayName,RemotePowerShellEnabledЧтобы отобразить всех пользователей, у которых нет доступа к Exchange Online PowerShell, выполните следующую команду:
Get-User -ResultSize unlimited -Filter 'RemotePowerShellEnabled -eq $false'Чтобы отобразить всех пользователей, имеющих доступ к Exchange Online PowerShell, выполните следующую команду:
Get-User -ResultSize unlimited -Filter 'RemotePowerShellEnabled -eq $true'Обратная связь
Были ли сведения на этой странице полезными?
Отключение PowerShell и прочие особенности борьбы с Malware. Часть I
Кажется не так давно это было, примерно в 2015 году, мы начали слышать о хакерах, не использовавших вредоносных программ внутри периметра атакуемой цели. А использовали они то, что было под рукой – это были различные инструменты, находившиеся на целевом сайте. Это оказалось идеальным способом, чтобы сделать свое «грязное дело» не поднимая лишнего «шума».
Этот подход в наше время набрал обороты и стал мейнстримом, в первую очередь из-за обилия готовых инструментариев хакеров, таких как PowerShell Empire.
Мы уже писали о том, как PowerShell, когда он дополняется PowerView, становится мощным поставщиком информации для хакеров (вся эта мудрость собрана в нашей подборке, которую вы должны прочитать как можно скорее).
Безусловно, любой инструмент может использоваться как для хорошего так и для плохого, так что я и не думаю тут намекать, что PowerShell был создан, чтобы облегчить жизнь хакерам.
Но так же, как вы бы не оставили сверхмощный болторез рядом с навесным замком, вы, вероятно, не захотите разрешить, или хотя бы сделать это максимально более трудным для хакеров получить в свои руки PowerShell.Это в свою очередь поднимает большую тему в мире кибербезопасности: ограничение доступа к приложениям, также известную как белые и черные списки доступа. Общая идея в том, чтобы операционная система знала и строго контролировала какие приложения могут быть запущены пользователем, а какие – нет.
Например, будучи homo blogus, мне, как правило, нужны некоторые основные инструменты и приложения (а также теплое местечко, где могу спать ночью), и я прекрасно могу прожить без оболочки PowerShell, netcat, psexec, и всех других команд, о которых я рассказывал в предыдущих постах. То же самое относится к большинству работников в компаниях, и поэтому квалифицированный ИТ-специалист должен быть в состоянии составить список приложений, которые являются безопасными для использования.
В мире Windows, возможно использовать правила на выполнение приложений с помощью специальных ограничивающих политик использования программ, а в последнее время и AppLocker.
Однако, прежде чем мы перейдем к этим передовым идеям, давайте попробуем два очень простых решения, а затем посмотрим, что с ними не так.
ACL и другие упрощения
Мы часто думаем о списках доступа ACL Windows, что они используются для управления доступом к читабельному содержимому. Но они также могут быть применены и к исполняемым файлам — то есть.ехе, .vbs, .ps1 и остальным.
Я вернулся в облако Amazon Web Services, где у меня находится домен Windows для мифической и некогда легендарной компании Acme и там проделал работу с ACL, дабы продемонстрировать некоторые ограничения доступа.

PowerShell .exe, любой системный администратор сможет без труда сказать вам, находится в C:\Windows\System32\WindowsPowerShell\v1.0. Я перешел в эту папку, вызвал ее свойства и моментально ограничил права выполнения PowerShell на 2 основные группы: «Администраторов домена» и «Acme-SnowFlakes”, группы опытных пользователей Acme.
Я перезашел на сервер, как Боб, мой амплуа в компании Acme, и попытался вызвать PowerShell. Результаты ниже.

На практике, вы могли бы, наверняка, придумать скрипт — почему бы не использовать PowerShell чтобы автоматизировать этот процесс настройки ACL для всех ноутбуков и серверов в небольших и средних по размеру компаниях.
Это не плохое решение.
Если вам не нравится идея изменения ACL на исполняемых файлах, PowerShell предлагает свои собственные средства ограничения. Как пользователь с админ-правами, можно использовать, все что угодно, но проще всего встроенный командлет Set-ExecutionPolicy.
Это уже не настолько «топорное» решение, как установка ACL. Например, вы сможете ограничить PowerShell для работы только в интерактивном режиме – с помощью параметра Restricted — так что он не будет выполнять PS-скрипты, которые могут содержать вредоносные программы хакеров.
Однако, это также заблокирует и скрипты PowerShell, запускаемые вашими ИТ-специалистами. Чтобы разрешить одобренные скрипты, но отключить скрипты злобных хакеров, используйте параметр RemoteSigned. Теперь PowerShell будет запускать только подписанные скрипты. Администраторам, конечно, придется создать их собственные сценарии и затем подписать их с использованием проверенных учетных данных.
Я не буду вдаваться в подробности, как это сделать, в основном потому, что это так легко обойти. Кое-кто тут в блоге описал аж 15 способов обхода ограничений безопасности в PowerShell.
Самый простой – это с помощью параметра Bypass в самом PowerShell. Да! (см.ниже).

Похоже на дыру в безопасности, а?
Так что в PowerShell есть несколько основных уязвимостей. Это кстати и понятно, так как это, в конце концов, всего лишь программная оболочка.
Но даже подход ограничений на уровне ACL имеет свои фундаментальные проблемы.
Если хакеры ослабят свою философию, то они смогут запросто скачать, скажем, с помощью трояна удаленного доступа (RAT) — их собственную копию PowerShell.ехе. А затем запустить его напрямую, с легкостью избежав ограничений с разрешениями с локальным PowerShell.Политики Ограничения Использования Программ
Эти основные дыры в безопасности (как и многие другие) всегда сопровождают потребительский класс операционных систем. Это навело исследователей ОС на мысль придумать безопасную операционную систему, которая бы имела достаточно силы, чтобы контролировать то, что может быть запущено.
В мире Windows, эти силы известны как политики ограничения использования программ (SRP) — для ознакомления, посмотрите это — они настраиваются через редактор Групповых политик.
С их помощью вы сможете контролировать, какие приложения могут быть запущены на основании расширения файла, имен путей, и было ли приложение подписано цифровой подписью.Самый эффективный, хоть и самый болезненный подход, это запретить все, а потом добавлять туда приложения, которые вам действительно нужны. Это известно как внесение в „белый список“.
Мы разберем это более подробно в следующей части.
В любом случае, вам потребуется запустить редактор политик, gpEdit и перейдите к политике Local Computer Policy>Windows Settings>Security Settings>Software Restriction Polices>Security Levels. Если Вы нажмете на “Запретить (Disallowed)”, то вы можете сделать это политикой безопасности по-умолчанию — не запускать любые исполняемые файлы!

Белый список: запретить по-умолчанию, а затем добавить разрешенные приложения в “Дополнительные правила (Additional Rules)”.
Это больше похоже на тактику выжженной земли. На практике, потребуется ввести “дополнительные правила”, чтобы добавить обратно разрешенные приложения (с указанием их наименования и пути). Если вы выходите из оболочки PowerShell, то вы фактически отключаете этот инструмент на месте.
К сожалению, вы не можете подстроить правила политик ограничения использования программ на основании отдельных групп или пользователей. Блин!
И теперь это логично приводит нас к последнему достижению безопасности Microsoft, известному как AppLocker, который имеет свои уникальные особенности, чтобы разрешить открыть приложение. Поговорим об этом в следующий раз.
- varonis
- powershell
- информационная безопасность
- хранение данных
- Блог компании Varonis Systems
- Системное администрирование
- PowerShell
- Хранение данных
Как в Windows 10 отключить PowerShell 2.0 и зачем это нужно
В Windows 10 14971 стандартная командная строка в меню Win + X была заменена ее усовершенствованным аналогом PowerShell . В последней на данный момент стабильной сборке системы — Windows 10 1803 используется уже пятая версия этого инструмента, но вместе с тем в ней по-прежнему присутствует и работает устаревшая версия PowerShell 2.0 . Консоль второй версии может использоваться некоторыми приложениями, но вместе с тем она представляет угрозу безопасности, делая возможным запуск в системе вредоносных скриптов.
В настоящее время разработчиками Microsoft ведется работа над оптимизацией использующих PowerShell 2.0 приложений, по завершении которой устаревшая версия оболочки будет отключена, но вы можете не дожидаться этого момента и отключить ее самостоятельно. На работу Windows 10 это не должно повлиять, в случае же крайней необходимости включить PowerShell 2.0 вы сможете в любое время. Для начала стоит проверить, включена ли устаревшая версия в вашей системе вообще.
Для этого запустите PowerShell от имени администратора и выполните такую команду:
Get-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2
Обратите внимание на значение выведенного параметра State.

Если в системе активен PowerShell второй версии, оно будет Enabled (включено) , в противном случае значение будет Disabled (отключено) . Во втором случае ничего предпринимать не нужно, если же устаревшая версия консоли всё же окажется включенной, отключите ее, выполнив тут же следующую команду:
Disable-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2Root

Чтобы окончательно убедиться, что PowerShell 2.0 действительно отключен, выполните первую команду и посмотрите значение параметра State.

Деактивировать устаревшую версию консоли можно также с помощью апплета управления компонентами Windows. Запустите его командой optionalfeatures , найдите в списке компонентов пункт Windows PowerShell 2.0, снимите с него птичку и нажмите «OK».

Изменения вступят в силу сразу, перезагружать компьютер нет необходимости.
Как отключить PowerShell на ПК с Windows 10

Как отключить PowerShell на компьютере с Windows 10
Темы покрыты Показать
В Windows 7 Microsoft представила более мощную командную строку, чем командная строка. PowerShell, предназначенный для выполнения сложных задач, является самой мощной альтернативой командной строке. Популярность Powershell выросла с момента его запуска, хотя он до сих пор не включен в Windows 10.
Многие ошибочно принимают командную строку и Powershell за одно и то же. Однако они разные, а Powershell сложнее обычного CMD. Кроме того, PowerShell более мощный, чем CMD, и может быть опасен в руках начинающих пользователей.
В результате, если вы используете общий компьютер или ваш компьютер используют родственники или друзья, рекомендуется полностью отключить PowerShell. В этом посте будет пошаговое объяснение того, как отключить Powershell в Windows 10. Давайте проверим еще раз.
Читайте также 4 способа запустить PowerShell от имени администратора в Windows 11
Действия по отключению PowerShell на компьютере с Windows 10
Имейте в виду, что нет прямого способа отключить PowerShell. В результате мы должны использовать редактор локальной групповой политики для деактивации Powershell. Игра с локальной групповой политикой может быть опасной, поэтому действуйте осторожно.
Это первый шаг. Чтобы начать, нажмите кнопку «Пуск» и найдите «Выполнить». Выберите драйвер из списка и нажмите «Открыть».

Шаг 2. В следующем окне введите «Gpedit.msc» и нажмите ок .

Шаг 3 запустит редактор локальной групповой политики. Вы должны перейти в «Конфигурация пользователя»> «Административные шаблоны»> «Система».

4. Справа дважды щелкните Политика «Указанное приложение Windows не запущено» .

5. В этом окне нужно выбрать «включено» Затем нажмите кнопку «шоу» .
Читайте также Как отключить оценки и обзоры в iTunes Store

Шаг 6. Тип «powershell.exe» Затем нажмите «OK» .

Вы закончили объяснять. Немедленно перезагрузите компьютер с Windows 10, чтобы изменения вступили в силу. Вы не сможете использовать Powershell после перезапуска. Просто примените изменения, внесенные на шагах 5 и 6, для внедрения Powershell.
Итак, этот пост покажет вам, как отключить PowerShell на ПК с Windows 10. Надеюсь, этот материал был вам полезен! Пожалуйста, поделитесь этим и с друзьями. Если у вас есть какие-либо вопросы, пожалуйста, оставьте их в разделе комментариев ниже.