Использование сценариев PowerShell для устройств Windows 10/11 в Intune

Используйте расширение управления Microsoft Intune, чтобы отправлять сценарии PowerShell в Intune. для выполнения на устройствах Windows 10. Расширение управления расширяет возможности управления устройствами (MDM) Windows и упрощает переход на современные средства управления.

Важно!

Для поддержки расширенных функций и исправлений ошибок используйте платформа .NET Framework 4.7.2 или более поздней версии с расширением управления Intune на клиентах Windows. Если клиент Windows продолжает использовать более раннюю версию платформа .NET Framework, расширение управления Intune продолжит функционировать. Платформа .NET Framework 4.7.2 доступен с клиентский компонент Центра обновления Windows по состоянию на 10 июля 2018 г., который входит в состав Win10 1809 (RS5) и более новых версий. Обратите внимание, что на устройстве могут существовать несколько версий платформа .NET Framework.

Эта функция применима к следующим системам:

  • Windows 10 и более поздних версий (кроме Windows 10 Домашняя)

Примечание.

После выполнения предварительных требований к расширению управления Intune расширение управления Intune устанавливается автоматически при назначении пользователю или устройству скрипта PowerShell или приложения Win32, приложений Microsoft Store, настраиваемых параметров политики соответствия или упреждающих исправлений. Дополнительные сведения см. в разделе предварительных требований расширений управления Intune.

Сценарии PowerShell, которые официально не поддерживаются на устройствах с подключением к рабочему месту (WPJ), можно развернуть на устройствах WPJ. В частности, сценарии контекста устройств PowerShell работают на устройствах WPJ, но сценарии контекста пользователей PowerShell игнорируются. Сценарии контекста пользователя будут игнорироваться на устройствах WPJ и не будут сообщаться в центр администрирования Microsoft Intune.

Переход на современное управление

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

Службы управления мобильными устройствами, например Microsoft Intune, могут управлять работой мобильных и настольных устройств с Windows 10. Встроенный клиент управления Windows 10 обменивается данными с Intune запуска корпоративных задач управления. Возможно, вам потребуется выполнять такие задачи, как расширенная настройка или устранение неполадок. Вы можете управлять приложениями Win32 с помощью соответствующей функции на устройствах с Windows 10.

Расширение управления Intune дополняет встроенные возможности MDM в Windows 10. Вы можете создать скрипты PowerShell для выполнения на устройствах Windows 10. Например, создайте скрипт PowerShell, который задает расширенные конфигурации устройств. Затем отправьте скрипт в Intune, назначьте его группе Microsoft Entra и запустите скрипт. Вы сможете отслеживать состояние выполнения сценария от начала до конца.

Прежде чем начать

  • Если для сценариев задан пользовательский контекст, а у пользователя есть права администратора, сценарий PowerShell по умолчанию запускается с правами администратора.

  • Конечным пользователям не требуется выполнять вход на устройство для выполнения сценариев PowerShell.

  • Агент расширения управления Intune выполняет проверку после каждой перезагрузки, чтобы получить новые сценарии или изменения. После назначения политики группам Microsoft Entra выполняется скрипт PowerShell, а результаты выполнения отображаются. Последующее выполнение сценария происходит только при изменении сценария или политики. Если произойдет сбой выполнения скрипта, агент расширения управления Intune попытается трижды повторить запуск скрипта при трех следующих синхронизациях этого агента.

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

  • Скрипты PowerShell выполняются перед запуском приложений Win32. Иными словами, скрипты PowerShell выполняются первыми. Затем выполняются приложения Win32.

  • Время ожидания сценариев PowerShell истекает через 30 минут.

Важно!

Ниже приведены рекомендации по обеспечению конфиденциальности при использовании сценариев PowerShell и сценариев исправления.

  • Не включайте в скрипты конфиденциальные сведения (например, пароли)
  • Не включайте личную информацию (PII) в скрипты
  • Не используйте скрипты для сбора персональных данных с устройств
  • Всегда следуйте рекомендациям по обеспечению конфиденциальности

Дополнительные сведения см. в разделе Исправления.

Предварительные требования

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

  • Устройства с Windows 10 версии 1607 или более поздней. Если устройство зарегистрировано с помощью массовой автоматической регистрации, на нем должна выполняться Windows 10 версии 1709 или более поздней. Расширение управления Intune не поддерживается в Windows 10 в S-режиме, поскольку этот режим не разрешает запускать приложения, не приобретенные в магазине.

  • Устройства, присоединенные к Microsoft Entra ID, в том числе:

  • Microsoft Entra зарегистрировано/присоединено к рабочему месту (WPJ): устройства, зарегистрированные в Microsoft Entra ID, см. в разделе Присоединение к рабочему месту как простая проверка подлинности второго фактора. Обычно это устройства с использованием собственного устройства (BYOD), на которых была добавлена рабочая или учебная учетная запись, добавленная с помощью параметров Учетные>записи Доступ к рабочей или учебной>среде.

  • Устройства, зарегистрированные в Intune, включая:

    • устройства, зарегистрированные в групповой политике (GPO). (инструкции см. в разделе Enroll a Windows 10 device automatically using Group Policy (Автоматическая регистрация устройства Windows 10 с помощью групповой политики));

    • Устройства, вручную зарегистрированные в Intune вручную, когда:

      • Автоматическая регистрация в Intune включена в Microsoft Entra ID. Пользователи входят на устройства с помощью локальной учетной записи пользователя и вручную присоединяют устройство к Microsoft Entra ID. Затем они входят на устройство с помощью учетной записи Microsoft Entra.

      ИЛИ

      • Пользователь входит на устройство с помощью учетной записи Microsoft Entra, а затем регистрируется в Intune.
    • Совместно управляемые устройства, использующие Configuration Manager и Intune. При установке приложений Win32 убедитесь, что для рабочей нагрузки Приложения выбрано значение Pilot Intune (Пилотная версия Intune) или Intune. Скрипты PowerShell будут выполняться, даже если для рабочей нагрузки Приложения задано значение Configuration Manager. Расширение управления Intune будет развернуто на устройстве при выполнении сценария PowerShell для этого устройства. Помните, что устройство должно быть Microsoft Entra ID или Microsoft Entra устройством с гибридным присоединением. Компьютер должен работать под управлением Windows 10 версии 1607 или более поздней. Дополнительные сведения см. в следующих статьях:

  • Сценарии, развернутые для клиентов с используемым расширением управления Intune, не будут запускаться, если системные часы устройства устарели на несколько месяцев или лет. Когда системные часы будут обновлены, сценарий запустится надлежащим образом.

Примечание.

Дополнительные сведения об использовании виртуальных машин Window 10 см. в разделе Использование виртуальных машин Windows 10 с Intune.

Создание и назначение политики сценариев

  1. Войдите в Центр администрирования Microsoft Intune.

  2. Выберите Устройства>Скрипты и исправления Скрипты платформы>>Добавить>Windows 10 и более поздние версии.

    Снимок экрана: создание нового сценария для устройства с Windows 10.

  3. В разделе Основные введите следующие свойства и нажмите кнопку Далее:

    • Имя: введите имя сценария PowerShell.
    • Описание: введите описание сценария PowerShell. Это необязательные данные, но рекомендуется их ввести.
  4. В разделе Параметры сценария укажите следующие свойства и нажмите кнопку Далее:

    • Расположение сценария: выберите сценарий PowerShell. Размер сценария не должен превышать 200 КБ (ASCII).

    • Запустите этот скрипт с учетными данными для входа. Выберите Да (по умолчанию), чтобы запустить скрипт с учетными данными пользователя на устройстве. Выберите Нет , чтобы запустить скрипт в системном контексте. Многие администраторы выбирают Да. Если требуется запустить сценарий в контексте системы, выберите Нет.

    • Принудительное применение подписи скрипта проверка. Выберите Да (по умолчанию), если сценарий должен быть подписан доверенным издателем. Выберите Нет , если нет требования для подписи скрипта.

    • Запуск сценария в 64-разрядном узле PowerShell: выберите Да, чтобы запустить сценарий в 64-разрядном узле PowerShell с 64-разрядной клиентской архитектурой. Выберите Нет (по умолчанию), чтобы запустить сценарий в 32-разрядном узле PowerShell.

      При выборе значений Да или Нет используйте следующую таблицу, чтобы определить поведение новых и существующих политик:

      Запуск скрипта на 64-разрядном узле Архитектура клиента Новый сценарий Существующий скрипт политики
      Нет 32-разрядная Поддерживается 32-разрядный узел PowerShell Скрипт запускается только на 32-разрядном узле PowerShell, который работает в 32- и 64-разрядных архитектурах.
      Да 64-разрядная Скрипт запускается на 64-разрядном узле PowerShell для 64-разрядных архитектур. Если запуск выполнялся в 32-разрядной системе, скрипт запускается на 32-разрядном узле PowerShell. Запуск скрипта на 32-разрядном узле PowerShell. При изменении значения этого параметра на 64-разрядную версию скрипт открывается (не запускается) на 64-разрядном узле PowerShell и выводит результаты. Если запуск выполнялся в 32-разрядной системе, скрипт запускается на 32-разрядном узле PowerShell.
  5. Выберите Теги области. Теги области являются необязательными. Дополнительные сведения см. в разделе Использование управления доступом на основе ролей (RBAC) и тегов области для распределенных ИТ.

    Добавление тега области

    1. Выберите Выбрать область теги> выберите существующий тег область в списке >Выбрать.

    2. Когда закончите, нажмите Далее.

  6. Выберите пункты Назначения>Выберите группы для включения. Отобразится существующий список Microsoft Entra групп.

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

      Примечание.

      Сценарии PowerShell в Intune могут быть предназначены для Microsoft Entra групп безопасности устройств или Microsoft Entra групп безопасности пользователей. Однако при нацеливание на устройства, присоединенные к рабочему месту (WPJ), можно использовать только Microsoft Entra группы безопасности устройств (целевая ориентация на пользователей будет игнорироваться). Дополнительные сведения см. в разделе Поддержка приложений Win32 для устройств с подключением к рабочему месту (WPJ).

    2. Нажмите кнопку Далее.

      Назначение или развертывание сценария PowerShell для групп устройств в Microsoft Intune

  7. В окне Проверка и добавление отображается сводка по настроенным параметрам. Выберите Добавить, чтобы сохранить сценарий. Если нажать кнопку Добавить, политика будет развернута в выбранных группах.

Пример сбоя выполнения сценария

08:00

  • Возврат
  • Запуск скрипта ConfigScript01
  • Сбой выполнения скрипта

09:00

  • Возврат
  • Запуск скрипта ConfigScript01
  • Сбой выполнения скрипта (число повторных попыток = 1)

10:00

  • Возврат
  • Запуск скрипта ConfigScript01
  • Сбой выполнения скрипта (число повторных попыток = 2)

11:00

  • Возврат
  • Запуск скрипта ConfigScript01
  • Сбой выполнения скрипта (число повторных попыток = 3)

12:00

  • Возврат
  • Повторные попытки запуска сценария ConfigScript01 не выполнялись.
  • Если в скрипт не вносятся изменения, дальнейшие попытки его запуска не предпринимаются.

Отслеживание состояния выполнения

На портале можно отслеживать состояние выполнения скриптов PowerShell для пользователей и устройств.

В области Сценарии PowerShell выберите сценарий для отслеживания, выберите Отслеживать, затем выберите один из следующих отчетов:

  • Состояние устройства
  • Состояние пользователя

Журналы расширения управления Intune

Журналы агентов на клиентском компьютере обычно находятся в папке C:\ProgramData\Microsoft\IntuneManagementExtension\Logs. Для просмотра этих файлов журналов можно использовать CMTrace.exe.

Снимок экрана или пример журналов агента cmtrace в Microsoft Intune

Удаление скрипта

В области Сценарии PowerShell щелкните сценарий правой кнопкой мыши и выберите Удалить.

Распространенные проблемы и способы их решения

Проблема: не удается скачать расширение управления Intune

Возможные решения:

  • Устройство не присоединено к Microsoft Entra ID. Убедитесь, что устройства соответствуют предварительным требованиям (в этой статье).
  • Нет сценариев PowerShell или приложений Win32, назначенных группам, к которым принадлежит пользователь или устройство.
  • Устройство не может зарегистрироваться в службе Intune. Например, отсутствует доступ к Интернету, нет доступа к службам push-уведомлений Windows (WNS) и т. д.
  • Устройство находится в S-режиме. Расширение управления Intune не поддерживается на устройствах, работающих в режиме S.

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

  1. Перейдите в раздел Параметры>Учетные записи>Доступ к рабочей или учебной учетной записи.
  2. Выберите сведения о присоединенной учетной записи>.
  3. В разделе Расширенный диагностический отчет выберите Создать отчет.
  4. В веб-браузере откройте MDMDiagReport.
  5. Найдите свойство MDMDeviceWithAAD. Если свойство существует, устройство зарегистрировано автоматически. Если такое свойство не существует, значит устройство не регистрируется автоматически.

В статье Включение автоматической регистрации Windows 10 приведены действия по настройке автоматической регистрации в Intune.

Проблема: сценарии PowerShell не выполняются

Возможные решения:

  • Скрипты PowerShell не выполняются при каждом входе в систему. Они выполняются в следующих случаях:

    • когда скрипт назначается устройству;

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

      Совет

      Расширение управления Intune Microsoft — это служба, которая выполняется на устройстве, как и любая другая служба, указанная в приложении "Службы" (services.msc). После перезагрузки устройства эта служба может также перезапуститься и выполнить поиск назначенных скриптов PowerShell в службе Intune. Если для службы Расширение управления Microsoft Intune задан запуск вручную, то эта служба может не перезапуститься после перезагрузки устройства.

  • Убедитесь, что устройства присоединены к Microsoft Entra ID. Устройства, присоединенные только к вашему рабочему месту или организации (зарегистрированные в Microsoft Entra ID), не будут получать скрипты.

  • Убедитесь, что расширение управления Intune скачано в папку %ProgramFiles(x86)%\Microsoft Intune Management Extension.

  • Скрипты не выполняются в Surface Hub или в Windows 10 в режиме S.

  • Проверьте журналы на наличие ошибок. См. раздел Журналы расширения управления Intune (в этой статье).

  • Чтобы исключить проблемы с разрешениями, задайте Run this script using the logged on credentials в свойствах сценария PowerShell. Также убедитесь, что выполнивший вход пользователь имеет нужные разрешения на выполнение сценария.

  • Чтобы определить проблемы со скриптами, сделайте следующее:

    • Проверьте конфигурацию выполнения PowerShell на устройствах. Инструкции см. в разделе Политика выполнения PowerShell.

    • Запустите пример скрипта с помощью расширения управления Intune. Например, создайте каталог C:\Scripts и предоставьте всем полный доступ к нему. Запустите следующий сценарий:

      write-output "Script worked" | out-file c:\Scripts\output.txt
      

      При успешном выполнении будет создан файл output.txt с текстом "Script worked" (Сценарий отработал).

    • Чтобы проверить выполнение сценариев без Intune, запустите их в локальной системной учетной записи с помощью средства psexec:

      psexec -i -s

    • Если сообщается о выполнении скрипта, но скрипт не был выполнен, возможно, антивирусная служба изолирует AgentExecutor. Следующий скрипт всегда сообщает об ошибке в Intune. В качестве теста можно использовать следующий скрипт:

      Write-Error -Message "Forced Fail" -Category OperationStopped
      mkdir "c:\temp" 
      echo "Forced Fail" | out-file c:\temp\Fail.txt
      

      Если сообщается о выполнении скрипта, проверьте AgentExecutor.log, чтобы подтвердить ошибку. Если скрипт выполняется, длина должна быть >равна 2.

    • Для записи файлов .error и .output следующий фрагмент кода выполняет скрипт с помощью AgentExecutor для PowerShell x86 (C:\Windows\SysWOW64\WindowsPowerShell\v1.0). При этом журналы сохраняются для проверки. Помните, что расширение управления Intune очищает журналы после выполнения скрипта:

      $scriptPath = read-host "Enter the path to the script file to execute"
      $logFolder = read-host "Enter the path to a folder to output the logs to"
      $outputPath = $logFolder+"\output.output"
      $errorPath =  $logFolder+"\error.error"
      $timeoutPath =  $logFolder+"\timeout.timeout"
      $timeoutVal = 60000 
      $PSFolder = "C:\Windows\SysWOW64\WindowsPowerShell\v1.0"
      $AgentExec = "C:\Program Files (x86)\Microsoft Intune Management Extension\agentexecutor.exe"
      &$AgentExec -powershell  $scriptPath $outputPath $errorPath $timeoutPath $timeoutVal $PSFolder 0 0
      

Дальнейшие действия

Мониторинг и устранение неполадок для профилей.