- Windows Script Host: типы файлов
- Windows script host — There is no file extension in (file path)
- 2 Answers 2
- Использование скриптов PowerShell для устройств Windows 10 в Intune Use PowerShell scripts on Windows 10 devices in Intune
- Переход на современные принципы управления Move to modern management
- Подготовка к работе Before you begin
- Предварительные условия Prerequisites
- Создание и назначение политики скрипта Create a script policy and assign it
- Пример сбоя выполнения скрипта Failure to run script example
- Отслеживание состояния выполнения Monitor run status
- Журналы расширения управления Intune Intune management extension logs
- Удаление скрипта Delete a script
- Распространенные проблемы и способы их устранения Common issues and resolutions
- Проблема. Не удается скачать расширение управления Intune Issue: Intune management extension doesn’t download
- Проблема. Скрипты PowerShell не выполняются Issue: PowerShell scripts do not run
Windows Script Host: типы файлов
Компонент Windows Script Host (WSH) является мощным, полезным и гибким средством для выполнения сценариев в среде Windows, но при этом он представляет собой довольно сложный инструмент. Для начала я расскажу о том, что такое WSH и какие механизмы предоставляет данный компонент для выполнения сценариев в Windows. Затем мы рассмотрим различные типы файлов сценариев и способы их запуска. В следующих статьях я расскажу об особенностях формата файлов .wsc и объясню, что такое компоненты сценариев Windows (Windows Script Components (WSC)).
Что такое WSH?
WSH — это компонент Windows, предоставляющий среду для выполнения сценариев на уровне операционной системы (в отличие от некоторых других контекстов, таких как Web-браузер). WSH не является языком, как, например, Perl, или интерпретатором сценариев, как perl.exe, он представляет собой построенный на базе технологии COM сервер, предназначенный для выполнения сценариев в Windows. В операционных системах версии Windows 2000 и более новых версиях WSH является встроенным компонентом. Для более ранних платформ, таких как Windows NT 4.0 и Windows 98, данный компонент может быть загружен с Web-сайта Microsoft и установлен отдельно.
В WSH имеется две стандартные среды исполнения: VBScript и JScript. VBScript обычно используется при разработке сценариев, предназначенных для решения задач системного администрирования, а JScript (реализация JavaScript от Microsoft) чаще применяется в Web-браузерах, поскольку JavaScript поддерживает широкий спектр различных платформ. В зависимости от типа решаемых задач для разработки сценариев на базе WSH пригодны оба языка. Если в системе установлены соответствующие исполнительные механизмы для поддержки других языков, то сценарии, разработанные на этих языках, также могут выполняться через WSH.
В WSH имеется стандартный набор объектов, предоставляющих весьма полезные возможности. Некоторые из этих объектов, например объект WScript и связанные с ним объекты и коллекции, могут существовать только в сценариях, выполняемых через WSH (т.е. метод WScript.Echo не может быть использован в секции сценариев Web-страницы). Однако многие из этих объектов являются универсальными и могут применяться в любых совместимых с COM языках программирования.
Существует два основных типа сценариев WSH: автономные сценарии (т.е. ориентированные на конкретный язык) и файлы .wsf (Windows script file). Файлы автономных сценариев имеют расширения, зависящие от типа языка, например, .vbs (VBScript) или .js (JScript). Что же касается сценариев .wsf, то они являются текстовыми файлами формата XML, нейтральными по отношению к тому или иному языку, и предоставляют ряд возможностей, которых лишены автономные сценарии. В WSH имеется два сервера сценариев, WScript и CScript, которые будут кратко рассмотрены далее. Здесь также имеется технология WSC, ранее известная как серверные сценарии, с помощью которой в сценариях можно создавать свои COM-компоненты.
Серверы сценариев
Сценарии WSH могут выполняться двумя способами: через сервер WScript, поддерживающий графический интерфейс пользователя, и через консольный сервер сценариев CScript. Серверы сценариев реализованы в виде двух исполняемых файлов: wscript.exe и cscript.exe, соответственно. По умолчанию в Windows используется сервер WScript, но эту установку можно изменить. О том, как это делается, мы поговорим чуть ниже.
При запуске сценария через CScript результаты выполнения команд WScript.Echo и сообщения об ошибках периода выполнения будут отображаться в окне консоли (т.е. окне командной строки). Если сценарий запускается через CScript в окне командной строки, то результаты его выполнения и сообщения об ошибках будут отображаться в этом же окне. Если же сценарий запускается через CScript, но из графического интерфейса (например, из проводника Windows или диалогового окна Run («Выполнить»)), то в этом случае создается временное окно командной строки, в котором и будет выполняться сценарий. Выходные данные сценария и сообщения об ошибках будут отображаться в этом временном окне, которое закроется по завершении выполнения сценария.
В отличие от CScript, сервер WScript не использует для выполнения сценариев консольное окно. Поэтому в данном случае результаты выполнения команд Wscript.Echo и сообщения об ошибках будут отображаться в виде стандартных окон сообщений среды Windows.
Оба рассматриваемых сервера сценариев поддерживают ряд параметров командной строки, с помощью которых можно управлять ходом выполнения сценария и задавать сервер, используемый в системе по умолчанию. Когда сценарий запускается через графический интерфейс пользователя или через командную строку, но при этом вводится только имя файла сценария, он будет выполняться через тот сервер сценариев, который задан в системе по умолчанию. Перечень существующих параметров командной строки можно посмотреть, запустив из командной строки одну из следующих команд:
При запуске этой команды для WScript справочное сообщение появится не в командной строке, а будет выведено в виде отдельного окна сообщения.
Параметры командной строки приведены в Таблице 1. Обратите внимание, что при указании в командной строке параметров сервера сценариев перед ними необходимо вводить символы двойного прямого слеша (//), что позволяет предотвратить путаницу с ключами командной строки пользовательских сценариев, где используется одинарный символ прямого слеша (/). Например, если требуется установить CScript в качестве используемого по умолчанию сервера сценариев, а также отключить вывод логотипа и сохранить данную конфигурацию для текущего пользователя, можно запустить из командной строки следующую команду:
Если были сделаны эти установки по умолчанию, то вам уже не потребуется набирать команду cscript при запуске сценариев из командной строки, сообщение об авторских правах Microsoft также выводиться не будет. Обычно я рекомендую выполнять подобную настройку, поскольку большинство сценариев (в том числе многие административные сценарии, предлагаемые Microsoft) требуют использовать CScript в качестве сервера. Также следует отметить, что некоторые из свойств объекта WScript (не путать с сервером сценариев WScript!) существуют только тогда, когда активным сервером сценариев является CScript.
Если при запуске имя сервера сценариев указывается в явном виде (т.е. команда запуска начинается со слова CScript или WScript), то также необходимо указывать и расширение файла сценария. Например, показанная ниже команда
работать не будет, а команда:
выполнится успешно (при этом, разумеется, предполагается, что файл сценария hello.vbs имеется в текущем каталоге). Если в командной строке набирается только имя сценария без указания сервера сценариев или расширения, то сценарий будет запущен через сервер, используемый в системе по умолчанию.
Для того чтобы определить, какой именно сервер сценариев используется по умолчанию в данный момент в вашей системе, щелкните в проводнике Windows правой кнопкой мыши на имени любого файла сценариев и посмотрите на появившееся контекстное меню. Если в нем жирным шрифтом выделен пункт Open with Command Prompt («Открыть в командной строке»), то система использует по умолчанию CScript. Если же жирным шрифтом выделен пункт Open, тогда используемым по умолчанию является сервер WScript.
Свойства файла сценариев
Свойства файла сценариев доступны через соответствующее диалоговое окно, которое можно вызвать, щелкнув правой кнопкой мыши на имени сценария в проводнике Windows и выбрав из контекстного меню пункт «Свойства» (Properties). Затем следует перейти к закладке Script, которая показана на экране 1. Два параметра, доступные на этой вкладке, соответствуют двум параметрам командной строки: ключам //T и //Logo (или //Nologo). Если выбрать любой из этих параметров и нажать OK, Windows создаст в одном каталоге с файлом сценария файл .wsh с именем, соответствующим имени сценария (т.е. .wsh). Это обычный текстовый файл, содержащий описание выбранных параметров, пример его содержимого показан на экране 2. Имеющийся в файле .wsh параметр BatchMode не может устанавливаться через графический интерфейс и соответствует параметру командной строки //B. Если его значение равно нулю (установка по умолчанию), то соответствующий сценарий будет запускаться в интерактивном режиме (//I); если же этот параметр установлен в единицу, тогда сценарий запустится в пакетном режиме (что соответствует параметру командной строки //B). Если нужно использовать эту установку, откройте файл .wsh в Блокноте (Notepad) или аналогичном текстовом редакторе и добавьте соответствующую настройку.
Использование файла .wsh — это единственный способ запуска сценария с предустановленными параметрами выполнения. При открытии файла .wsh соответствующий ему файл сценария запускается через сервер WScript. Довольно странно, что параметр командной строки //H не изменяет используемый по умолчанию сервер сценариев для файлов .wsh. Если нужно из графического интерфейса запустить на выполнение файл .wsh через сервер CScript, щелкните правой кнопкой мыши на имени соответствующего файла и выберите из контекстного меню пункт Open with Command Prompt («Открыть в командной строке»). После этого наберите в окне командной строки:
В файле .wsh содержится полное описание пути к соответствующему файлу сценария, поэтому если перенести файл .wsh в какое-либо другое место, то через него по-прежнему можно будет вызывать требуемый сценарий. Следует отметить, что создание файлов .wsh не является строго обязательным, поскольку для запуска сценариев на выполнение с необходимыми установками всегда можно воспользоваться соответствующими параметрами командной строки для CScript или WScript.
Расширения файлов WSH
В Таблице 2 приведен перечень стандартных расширений для файлов, используемых WSH. Автономные файлы сценариев имеют расширения .js или .vbs. Файлы, реализованные на языках, соответствующих каким-либо другим средам выполнения сценариев Active X, имеют собственные расширения (например, .pl для Perl и .py для Python). Автономные сценарии используются чаще всего, поскольку являются наиболее простыми для разработки.
Имеющие формат XML файлы .wsf обладают большей гибкостью по сравнению с автономными сценариями, поскольку могут содержать программный код, написанный на нескольких языках. Они имеют также ряд полезных свойств, таких как возможность включения в сценарий кода из других файлов формата XML, содержащих описания объектов сценариев и имеющих расширение .wsc. Сценарии .wsf и компоненты сценариев .wsc будут обсуждаться более подробно в следующих статьях данной серии.
Я надеюсь, что приведенные здесь сведения помогут внести ясность в понимание назначения компонента WSH и расширений для используемых им файлов. В следующей статье мы рассмотрим файлы .wsf и те дополнительные возможности, которые они предоставляют, по сравнению с автономными сценариями.
Таблица 1. Параметры командной строки для CScript и WScript
Windows script host — There is no file extension in (file path)
I am trying to run a windows script using windows task scheduler. I am getting the following error.
This is the full file path
C:\Users\Desktop\service calibration details\RunExcel\RunExcel.vbs
The above screen shot does not show the full filepath
What does this mean?
How can i perform this succesfully?
2 Answers 2
The problem is caused by the spaces on your file path. I found the same problem using the function Shell on VBA and although the environment is not the same I think the solution is applicable. I will try to address your question on a general approach, not only for Windows Task Scheduler.
The above screen shot does not show the full filepath
What does this mean?
The screen doesn’t show the full path because Windows will read the path as a single string of characters, therefore, it will stop reading when it finds the first space on your path, which is exactly after the word «service». At that point Windows believes your full path is «C:\Users\Desktop\service» so when it looks for the script in that location. ERROR.
How can i perform this succesfully?
The way to solve this issue is enclosing the file path in quotation marks. The correct way to do it depends on the environment you are using. Try these starting in number 1.
Use simple quotation marks to enclose the file path: «C:\Users\Desktop\service calibration details\RunExcel\RunExcel.vbs»
If your file path is already a part of a string enclosed in quotation marks(for example an argument of a function) use double quotation marks or CHR(34). Following examples use the function Shell on VBA.
Использование скриптов PowerShell для устройств Windows 10 в Intune Use PowerShell scripts on Windows 10 devices in Intune
Используйте расширение управления Microsoft Intune, чтобы отправлять скрипты PowerShell в Intune Use the Microsoft Intune management extension to upload PowerShell scripts in Intune. для выполнения на устройствах Windows 10. Then, run these scripts on Windows 10 devices. Расширение управления предоставляет больше возможностей управления устройствами (MDM) Windows и упрощает переход на современные средства управления. The management extension enhances Windows device management (MDM), and makes it easier to move to modern management.
Данная функция применяется к: This feature applies to:
- Windows 10 и более поздних версий (кроме Windows 10 Домашняя) Windows 10 and later (excluding Windows 10 Home)
Если выполняются предварительные условия, расширение управления Intune устанавливается автоматически, когда скрипт PowerShell либо приложение Win32 назначаются пользователю или устройству. Once the Intune management extension prerequisites are met, the Intune management extension is installed automatically when a PowerShell script or Win32 app is assigned to the user or device. Дополнительные сведения см. в разделе Предварительные условия. For more information, see Intune Management Extensions prerequisites.
Сценарии PowerShell, которые официально не поддерживаются на устройствах с подключением к рабочему месту (WPJ), можно развернуть на устройствах WPJ. PowerShell scripts, which are not officially supported on Workplace join (WPJ) devices, can be deployed to WPJ devices. В частности, сценарии контекста устройств PowerShell работают на устройствах WPJ, но сценарии контекста пользователей PowerShell игнорируются. Specifically, device context PowerShell scripts work on WPJ devices, but user context PowerShell scripts are ignored by design. Сценарии контекста пользователей будут игнорироваться на устройствах WPJ и не будут передаваться в консоль Microsoft Endpoint Manager. User context scripts will be ignored on WPJ devices and will not be reported to the Microsoft Endpoint Manager console.
Переход на современные принципы управления Move to modern management
Вычислительная среда пользователя находится на этапе цифрового преобразования. User computing is going through a digital transformation. Традиционные ИТ-системы работают по схеме, где используется одна платформа для устройств, применяются корпоративные устройства, пользователи занимаются своими обязанностями в офисе, а различные ИТ-процессы выполняются вручную и в оперативном режиме. Traditional IT focuses on a single device platform, business-owned devices, users that work from the office, and different manual, reactive IT processes. Современные организации используют сразу несколько платформ как на личных, так и на корпоративных устройствах, The modern workplace uses many platforms that are user and business owned. позволяют пользователям работать из любого места, а также поддерживают автоматизированные и упреждающие ИТ-процессы. It allows users to work from anywhere, and provides automated and proactive IT processes.
Службы управления мобильными устройствами, например Microsoft Intune, могут контролировать работу мобильных и настольных устройств под управлением Windows 10. MDM services, such as Microsoft Intune, can manage mobile and desktop devices running Windows 10. Встроенный клиент управления Windows 10 взаимодействует с Intune для реализации соответствующих задач на уровне предприятия. The built-in Windows 10 management client communicates with Intune to run enterprise management tasks. Возможно, вам потребуется выполнять такие задачи, как расширенная настройка или устранение неполадок. There are some tasks that you might need, such as advanced device configuration and troubleshooting. Вы можете управлять приложениями Win32 с помощью соответствующей функции на устройствах с Windows 10. For Win32 app management, you can use the Win32 app management feature on your Windows 10 devices.
Расширение управления Intune дополняет встроенные возможности Windows 10 MDM. The Intune management extension supplements the in-box Windows 10 MDM features. Вы можете создать скрипты PowerShell для выполнения на устройствах Windows 10. You can create PowerShell scripts to run on Windows 10 devices. Например, создайте скрипт PowerShell, который задает расширенные конфигурации устройств. For example, create a PowerShell script that does advanced device configurations. Затем отправьте скрипт в Intune, назначьте скрипт группе Azure Active Directory (AD) и запустите скрипт. Then, upload the script to Intune, assign the script to an Azure Active Directory (AD) group, and run the script. Вы сможете отслеживать состояние выполнения скрипта от начала до конца. You can then monitor the run status of the script from start to finish.
Подготовка к работе Before you begin
Если для скриптов задан пользовательский контекст и пользователь имеет права администратора, скрипт PowerShell по умолчанию запускается с правами администратора. When scripts are set to user context and the end user has administrator rights, by default, the PowerShell script runs under the administrator privilege.
Конечным пользователям не требуется выполнять вход на устройство для выполнения скриптов PowerShell. End users aren’t required to sign in to the device to execute PowerShell scripts.
Агент расширения управления Intune сверяется с Intune каждый час и после каждой перезагрузки, чтобы получить новые скрипты или изменения. The Intune management extension agent checks with Intune once every hour and after every reboot for any new scripts or changes. После назначения политики группам Azure AD выполняется скрипт PowerShell, после чего выводятся результаты выполнения. After you assign the policy to the Azure AD groups, the PowerShell script runs, and the run results are reported. Последующее выполнение скрипта происходит только при изменении скрипта или политики. Once the script executes, it doesn’t execute again unless there’s a change in the script or policy. Если произойдет сбой выполнения скрипта, агент расширения управления Intune попытается трижды повторить запуск скрипта при трех следующих синхронизациях этого агента. If the script fails, the Intune management extension agent retries the script three times for the next three consecutive Intune management extension agent check-ins.
Для общих устройств сценарий PowerShell выполняется для каждого нового пользователя, который входит в систему. For shared devices, the PowerShell script will run for every new user that signs in.
Скрипты PowerShell выполняются перед запуском приложений Win32. PowerShell scripts are executed before Win32 apps run. Иными словами, скрипты PowerShell выполняются первыми. In other words, PowerShell scripts execute first. Затем выполняются приложения Win32. Then, Win32 apps execute.
Время ожидания сценариев PowerShell истекает через 30 минут. PowerShell scripts time out after 30 minutes.
Предварительные условия Prerequisites
Для расширения управления Intune требуется выполнить следующие условия. The Intune management extension has the following prerequisites. При их соблюдении расширение управления Intune устанавливается автоматически, когда скрипт PowerShell или приложение Win32 назначаются пользователю или устройству. Once they’re met, the Intune management extension installs automatically when a PowerShell script or Win32 app is assigned to the user or device.
Устройства с ОС Windows 10 версии 1607 или более поздней. Devices running Windows 10 version 1607 or later. Если устройство зарегистрировано с помощью массовой автоматической регистрации, на нем должна выполняться Windows 10 версии 1709 или более поздней. If the device is enrolled using bulk auto-enrollment, devices must run Windows 10 version 1709 or later. Расширение управления Intune не поддерживается в Windows 10 в режиме S, так как режим S блокирует запуск приложений, не приобретенных в магазине. The Intune management extension isn’t supported on Windows 10 in S mode, as S mode doesn’t allow running non-store apps.
Устройства, присоединенные к службам Azure Active Directory, включая: Devices joined to Azure Active Directory (AD), including:
- устройства с гибридным присоединением к Azure AD — устройства, присоединенные к Azure Active Directory (Azure AD), а также присоединенные к локальной среде Active Directory (AD). Hybrid Azure AD-joined: Devices joined to Azure Active Directory (AAD), and also joined to on-premises Active Directory (AD). Инструкции см. в разделе Планирование реализации гибридного подключения к Azure Active Directory. See Plan your hybrid Azure Active Directory join implementation for guidance.
Устройства, зарегистрированные в Azure AD или подключенные к рабочему месту (WPJ) — устройства, которые зарегистрированы в Azure Active Directory. Дополнительные сведения см. в статье Подключение к рабочему месту с любого устройства для единого входа и эффективная двухфакторная аутентификация в приложениях компании. Azure AD registered/Workplace joined (WPJ): Devices registered in Azure Active Directory (AAD), see Workplace Join as a seamless second factor authentication for more information. Обычно это устройства, зарегистрированные по программе «Принеси свое устройство» (BYOD), с рабочей или учебной учетной записью, добавленной путем выбора элементов «Параметры» > «Учетные записи» > «Доступ к рабочей или учебной учетной записи». Typically these are Bring Your Own Device (BYOD) devices which have had a work or school account added via Settings>Accounts>Access work or school.
Устройства, зарегистрированные в Intune, включая: Devices enrolled in Intune, including:
устройства, зарегистрированные в групповой политике (GPO). Devices enrolled in a group policy (GPO). (инструкции см. в разделе Enroll a Windows 10 device automatically using Group Policy (Автоматическая регистрация устройства Windows 10 с помощью групповой политики)); See Enroll a Windows 10 device automatically using Group Policy for guidance.
устройства, зарегистрированные в Intune вручную, то есть когда: Devices manually enrolled in Intune, which is when:
- Автоматическая регистрация в Intune включена в Azure AD. Auto-enrollment to Intune is enabled in Azure AD. Пользователи входят на устройства с помощью учетной записи локального пользователя и вручную присоединяют устройство к Azure AD. Users sign in to devices using a local user account, and manually join the device to Azure AD. Затем они входят на устройство с помощью учетной записи Azure AD. Then, they sign in to the device using their Azure AD account.
- пользователь выполняет вход на устройство с помощью своей учетной записи Azure AD и регистрирует его в Intune; User signs in to the device using their Azure AD account, and then enrolls in Intune.
совместно управляемые устройства, использующие Configuration Manager и Intune. Co-managed devices that use Configuration Manager and Intune. При установке приложений Win32 убедитесь, что для рабочей нагрузки Приложения выбрано значение Pilot Intune (Пилотная версия Intune) или Intune. When installing Win32 apps, make sure the Apps workload is set to Pilot Intune or Intune. Скрипты PowerShell будут выполняться, даже если для рабочей нагрузки Приложения задано значение Configuration Manager. PowerShell scripts will be run even if the Apps workload is set to Configuration Manager. Расширение управления Intune будет развернуто на устройстве при выполнении скрипта PowerShell для устройства. The Intune management extension will be deployed to a device when you target a PowerShell script to the device. Помните, что устройство должно быть подключенным к Azure AD или гибридной службе Azure AD. Remember, the device must be an Azure AD or Hybrid Azure AD joined device. Компьютер должен работать под управлением Windows 10 версии 1607 или более поздней. And, it must be running Windows 10 version 1607 or later. Дополнительные сведения см. в следующих статьях: See the following articles for guidance:
Дополнительные сведения об использовании виртуальных машин Window 10 см. в разделе Использование виртуальных машин Windows 10 с Intune. For information about using Window 10 VMs, see Using Windows 10 virtual machines with Intune.
Создание и назначение политики скрипта Create a script policy and assign it
Выберите Устройства > Сценарии PowerShell > Добавить. Select Devices > PowerShell scripts > Add.
В разделе Основные укажите следующие свойства и нажмите Далее. In Basics, enter the following properties, and select Next:
- Имя — Введите имя скрипта PowerShell. Name: Enter a name for the PowerShell script.
- Описание. Введите описание скрипта PowerShell. Description: Enter a description for the PowerShell script. Этот параметр является необязательным, но мы рекомендуем его использовать. This setting is optional, but recommended.
В разделе Параметры скрипта укажите следующие свойства и нажмите Далее. In Script settings, enter the following properties, and select Next:
Расположение скрипта. Укажите расположение скрипта PowerShell. Script location: Browse to the PowerShell script. Размер скрипта не должен превышать 200 КБ (ASCII). The script must be less than 200 KB (ASCII).
Запускать сценарий по учетным данным. Выберите Да, чтобы запускать скрипт с помощью учетных данных пользователя на устройстве. Run this script using the logged on credentials: Select Yes to run the script with the user’s credentials on the device. Выберите Нет (по умолчанию) для запуска скрипта в контексте системы. Choose No (default) to run the script in the system context. Многие администраторы выбирают Да. Many administrators choose Yes. Выберите Нет, если скрипт требуется запускать в контексте системы. If the script is required to run in the system context, choose No.
Принудительно проверить подпись сценария. Выберите Да, если скрипт должен быть подписан доверенным издателем. Enforce script signature check: Select Yes if the script must be signed by a trusted publisher. Выберите Нет (по умолчанию), если требование к подписыванию скрипта отсутствует. Select No (default) if there isn’t a requirement for the script to be signed.
Запуск скрипта на 64-разрядном узле PowerShell. Выберите Да для запуска скрипта на 64-разрядном узле PowerShell в 64-разрядной архитектуре клиента. Run script in 64-bit PowerShell host: Select Yes to run the script in a 64-bit PowerShell host on a 64-bit client architecture. Выберите Нет (по умолчанию) для запуска скрипта на 32-разрядном узле PowerShell. Select No (default) runs the script in a 32-bit PowerShell host.
При выборе значения Да или Нет используйте следующую таблицу для нового и существующего поведения политики. When setting to Yes or No, use the following table for new and existing policy behavior:
Запуск скрипта на 64-разрядном узле Run script in 64-bit host | Архитектура клиента Client architecture | Новый сценарий New script | Существующий скрипт политики Existing policy script |
---|---|---|---|
Нет No | 32-разрядная система 32-bit | Поддерживается 32-разрядный узел PowerShell 32-bit PowerShell host supported | Скрипт запускается только на 32-разрядном узле PowerShell, который работает в 32- и 64-разрядных архитектурах. Runs only in 32-bit PowerShell host, which works on 32-bit and 64-bit architectures. |
Да Yes | 64-разрядная система 64-bit | Скрипт запускается на 64-разрядном узле PowerShell для 64-разрядных архитектур. Runs script in 64-bit PowerShell host for 64-bit architectures. Если запуск выполнялся в 32-разрядной системе, скрипт запускается на 32-разрядном узле PowerShell. When ran on 32-bit, the script runs in a 32-bit PowerShell host. | Запуск скрипта на 32-разрядном узле PowerShell. Runs script in 32-bit PowerShell host. При изменении значения этого параметра на 64-разрядную версию скрипт открывается (не запускается) на 64-разрядном узле PowerShell и выводит результаты. If this setting changes to 64-bit, the script opens (it doesn’t run) in a 64-bit PowerShell host, and reports the results. Если запуск выполнялся в 32-разрядной системе, скрипт запускается на 32-разрядном узле PowerShell. When ran on 32-bit, the script runs in 32-bit PowerShell host. |
Щелкните Область (теги) . Select Scope tags. Теги области являются необязательными. Scope tags are optional. Дополнительные сведения см. в разделе Использование управления доступом на основе ролей (RBAC) и тегов области для распределенных ИТ. Use role-based access control (RBAC) and scope tags for distributed IT has more information.
Добавление тега области To add a scope tag:
Щелкните Выбрать теги области > выберите в списке существующий тег области > Выбрать. Choose Select scope tags > select an existing scope tag from the list > Select.
Когда закончите, нажмите Далее. When finished, select Next.
Выберите пункты Назначения > Выберите группы для включения. Select Assignments > Select groups to include. Отобразится существующий список групп Azure AD. An existing list of Azure AD groups is shown.
Выберите одну или несколько групп пользователей, чьи устройства получат скрипт. Select one or more groups that include the users whose devices receive the script. Щелкните Выбрать. Choose Select. Выбранные группы отображаются в списке и получат вашу политику. The groups you chose are shown in the list, and will receive your policy.
Скрипты PowerShell в Intune могут назначаться группам безопасности устройств или группам безопасности пользователей Azure AD. PowerShell scripts in Intune can be targeted to Azure AD device security groups or Azure AD user security groups. Но при нацеливании на устройства с подключением к рабочему месту можно использовать только группы безопасности устройств Azure AD. However, when targeting workplace joined (WPJ) devices, only Azure AD device security groups can be used (user targeting will be ignored). Дополнительные сведения см. в разделе Поддержка приложений Win32 для устройств с подключением к рабочему месту (WPJ). For more information, see Win32 app support for Workplace join (WPJ) devices.
Выберите Далее. Select Next.
В окне Проверка и добавление отображается сводка по настроенным параметрам. In Review + add, a summary is shown of the settings you configured. Выберите Добавить, чтобы сохранить сценарий. Select Add to save the script. При нажатии кнопки Добавить политика развертывается в выбранных группах. When you select Add, the policy is deployed to the groups you chose.
Пример сбоя выполнения скрипта Failure to run script example
- Синхронизация Check in
- Запуск скрипта ConfigScript01 Run script ConfigScript01
- Сбой выполнения скрипта Script fails
- Синхронизация Check in
- Запуск скрипта ConfigScript01 Run script ConfigScript01
- Сбой выполнения скрипта (число повторных попыток = 1) Script fails (retry count = 1)
- Синхронизация Check in
- Запуск скрипта ConfigScript01 Run script ConfigScript01
- Сбой выполнения скрипта (число повторных попыток = 2) Script fails (retry count = 2)
- Синхронизация Check in
- Запуск скрипта ConfigScript01 Run script ConfigScript01
- Сбой выполнения скрипта (число повторных попыток = 3) Script fails (retry count = 3)
- Синхронизация Check in
- Повторные попытки запуска скрипта ConfigScript01 не выполнялись. No additional attempts are made to run ConfigScript01 script.
- Если в скрипт не вносятся изменения, дальнейшие попытки его запуска не предпринимаются. If no additional changes are made to the script, then no additional attempts are made to run the script.
Отслеживание состояния выполнения Monitor run status
На портале можно отслеживать состояние выполнения скриптов PowerShell для пользователей и устройств. You can monitor the run status of PowerShell scripts for users and devices in the portal.
В области Скрипты PowerShell выберите скрипт для отслеживания, а затем Монитор и один из следующих отчетов: In PowerShell scripts, select the script to monitor, choose Monitor, and then choose one of the following reports:
- Состояние устройстваDevice status
- Состояние пользователяUser status
Журналы расширения управления Intune Intune management extension logs
Журналы агентов на клиентском компьютере обычно находятся в папке \ProgramData\Microsoft\IntuneManagementExtension\Logs . Agent logs on the client machine are typically in \ProgramData\Microsoft\IntuneManagementExtension\Logs . Для просмотра этих файлов журналов можно использовать CMTrace.exe. You can use CMTrace.exe to view these log files.
Удаление скрипта Delete a script
В области Скрипты PowerShell щелкните скрипт правой кнопкой мыши и выберите пункт Удалить. In PowerShell scripts, right-click the script, and select Delete.
Распространенные проблемы и способы их устранения Common issues and resolutions
Проблема. Не удается скачать расширение управления Intune Issue: Intune management extension doesn’t download
Возможные решения: Possible resolutions:
- Устройство не присоединено к Azure AD. The device isn’t joined to Azure AD. Убедитесь, что устройства соответствуют предварительным требованиям (в этой статье). Be sure the devices meet the prerequisites (in this article).
- Нет скрипта PowerShell или приложения Win32, назначенного группам, к которым принадлежит пользователь или устройство. There are no PowerShell scripts or Win32 apps assigned to the groups that the user or device belongs.
- Устройство не может зарегистрироваться в службе Intune. The device can’t check in with the Intune service. Например, отсутствует доступ к Интернету, нет доступа к службам push-уведомлений Windows (WNS) и т. д. For example, there’s no internet access, no access to Windows Push Notification Services (WNS), and so on.
- Устройство находится в режиме S. The device is in S mode. Расширение управления Intune не поддерживается на устройствах, работающих в режиме S. The Intune management extension isn’t supported on devices running in S mode.
Чтобы узнать, зарегистрировано ли устройство автоматически, можно сделать следующее. To see if the device is auto-enrolled, you can:
- Откройте Учетные записи >Учетные записи >Доступ к рабочей или учебной учетной записи. Go to Settings >Accounts >Access work or school.
- Выберите присоединенную учетную запись и щелкните Информация. Select the joined account >Info.
- В разделе Расширенный диагностический отчет выберите Создать отчет. Under Advanced Diagnostic Report, select Create Report.
- В веб-браузере откройте MDMDiagReport . Open the MDMDiagReport in a web browser.
- Найдите свойство MDMDeviceWithAAD. Search for the MDMDeviceWithAAD property. Если свойство существует, устройство зарегистрировано автоматически. If the property exists, the device is auto-enrolled. Если такое свойство не существует, значит устройство не регистрируется автоматически. If this property doesn’t exist, then the device isn’t auto-enrolled.
В статье Включение автоматической регистрации Windows 10 приведены действия по настройке автоматической регистрации в Intune. Enable Windows 10 automatic enrollment includes the steps to configure automatic enrollment in Intune.
Проблема. Скрипты PowerShell не выполняются Issue: PowerShell scripts do not run
Возможные решения: Possible resolutions:
Скрипты PowerShell не выполняются при каждом входе в систему. The PowerShell scripts don’t run at every sign in. Они выполняются в следующих случаях: They run:
когда скрипт назначается устройству; When the script is assigned to a device
когда вы изменяете скрипт, загружаете его и назначаете пользователю или устройству. If you change the script, upload it, and assign the script to a user or device
Расширение управления Intune Microsoft — это служба, которая выполняется на устройстве, как и любая другая служба, указанная в приложении «Службы» (services.msc). The Microsoft Intune Management Extension is a service that runs on the device, just like any other service listed in the Services app (services.msc). После перезагрузки устройства эта служба может также перезапуститься и выполнить поиск назначенных скриптов PowerShell в службе Intune. After a device reboots, this service may also restart, and check for any assigned PowerShell scripts with the Intune service. Если для службы Расширение управления Microsoft Intune задан запуск вручную, то служба не может перезапуститься после перезагрузки устройства. If the Microsoft Intune Management Extension service is set to Manual, then the service may not restart after the device reboots.
Убедитесь, что устройства присоединены к Azure AD. Be sure devices are joined to Azure AD. Устройства, которые присоединены только к вашему рабочему месту или организации (зарегистрированы в Azure AD), не получат скрипты. Devices that are only joined to your workplace or organization (registered in Azure AD) won’t receive the scripts.
Клиент расширения управления Intune раз в час проверяет наличие изменений в скриптах или политиках Intune. The Intune management extension client checks once per hour for any changes in the script or policy in Intune.
Убедитесь, что расширение управления Intune скачано в папку %ProgramFiles(x86)%\Microsoft Intune Management Extension . Confirm the Intune management extension is downloaded to %ProgramFiles(x86)%\Microsoft Intune Management Extension .
Скрипты не выполняются в Surface Hub или в Windows 10 в режиме S. Scripts don’t run on Surface Hubs or Windows 10 in S mode.
Проверьте журналы на наличие ошибок. Review the logs for any errors. См. раздел Журналы расширения управления Intune (в этой статье). See Intune management extension logs (in this article).
Чтобы исключить проблемы с разрешениями, задайте Run this script using the logged on credentials в свойствах скрипта PowerShell. For possible permission issues, be sure the properties of the PowerShell script are set to Run this script using the logged on credentials . Также убедитесь, что выполнивший вход пользователь имеет нужные разрешения на выполнение скрипта. Also check that the signed in user has the appropriate permissions to run the script.
Чтобы определить проблемы со скриптами, сделайте следующее: To isolate scripting problems, you can:
Проверьте конфигурацию выполнения PowerShell на устройствах. Review the PowerShell execution configuration on your devices. Инструкции см. в разделе Политика выполнения PowerShell. See the PowerShell execution policy for guidance.
Запустите пример скрипта с помощью расширения управления Intune. Run a sample script using the Intune management extension. Например, создайте каталог C:\Scripts и предоставьте всем полный доступ к нему. For example, create the C:\Scripts directory, and give everyone full control. Выполните следующий сценарий: Run the following script:
При успешном выполнении будет создан файл output.txt с текстом Script worked (Скрипт выполнен). If it succeeds, output.txt should be created, and should include the «Script worked» text.
Чтобы проверить выполнение скриптов без Intune, запустите их в локальной системной учетной записи с помощью средства psexec: To test script execution without Intune, run the scripts in the System account using the psexec tool locally:
Если сообщается о выполнении скрипта, но скрипт не был выполнен, возможно, антивирусная служба изолирует AgentExecutor. If the script reports that it succeeded, but it didn’t actually succeed, then it’s possible your antivirus service may be sandboxing AgentExecutor. Следующий скрипт всегда сообщает об ошибке в Intune. The following script always reports a failure in Intune. В качестве теста можно использовать следующий скрипт: As a test, you can use this script:
Если сообщается о выполнении скрипта, проверьте AgentExecutor.log , чтобы подтвердить ошибку. If the script reports a success, look at the AgentExecutor.log to confirm the error output. При выполнении скрипта длина должна составлять > 2. If the script executes, the length should be >2.
Для записи файлов .error и .output следующий фрагмент кода выполняет скрипт с помощью AgentExecutor для PowerShell x86 ( C:\Windows\SysWOW64\WindowsPowerShell\v1.0 ). To capture the .error and .output files, the following snippet executes the script through AgentExecutor to PowerShell x86 ( C:\Windows\SysWOW64\WindowsPowerShell\v1.0 ). При этом журналы сохраняются для проверки. It keeps the logs for your review. Помните, что расширение управления Intune очищает журналы после выполнения скрипта: Remember, the Intune Management Extension cleans up the logs after the script executes: