provisioning package runtime processing tool что это
Windows 11 генерирует пустые папки в System32
Операционная система Windows 11 создает большое количество пустых папок в системной директории System32. Подобная проблема наблюдается также в Windows 10. При ручной проверке директории вы можете обнаружить большое количество папок tmp.
В тестовой системе под управлением Windows 11 было сгенерировано около 100 пустых папок, но некоторые пользователи сообщают о тысячах пустых папок в директории.
Чтобы проверить наличие папок в системе Windows 11 или Windows 10, выполните следующие шаги:
Некоторые папки могут быть скрытыми, поэтому вам нужно включить отображение скрытых папок в Проводнике.
В Windows 10 в Проводнике перейдите в Вид > Параметры > Изменить параметры папок и поиска и убедитесь что на вкладке Вид в разделе Дополнительные параметры отмечена опция Показывать скрытые файлы, папки и диски.
В Windows 11 в Проводнике выберите Просмотреть > Показать > Скрытые элементы.
Гюнтер Борн (Gunter Born) предполагает, что временные папки создаются с помощью инструмента Provisioning package runtime processing tool (ProvTool.exe). Папки tmp можно удалить, и удаление не оказывает отрицательного воздействия на систему.
В большинстве случаев ошибка не критична. Пустые папки не занимают много места на диске и не мешают работе системы. Тем не менее, похоже, что это неиспользуемые служебные папки, и лучше избавиться от них, когда их насчитывается уже несколько тысяч.
Пользователи: Windows 11 создает множество пустых папок в каталоге
Пользователи Windows 11 находят в каталоге C:\Windows\System32\config\systemprofile\AppData\Local в среднем около 100 пустых временных папок, некоторые сообщают про тысячи пустых папок. Пока неизвестно, по какой причине они появляются и насколько это критично.
В Сети предполагают, что временные папки создаются встроенным в ОС инструментом Provisioning Package Runtime Processing tool (имя файла ProvTool.exe). Вообще, данная ошибка тянется с Windows 10, а вот в какой версии — неизвестно. Некоторые находили ее в обновлении от мая 2021 года, кто-то в марте 2020 года, а кто-то в 2019 году, но она могла появиться намного раньше. И многие ссылаются на файл ProvTool.exe.
Пустые папки в версии Windows 10 от марта 2020 года
На данный момент специалисты по информационным технологиям и рядовые пользователи сошлись на том, что эти папки с расширением *.tmp можно спокойно удалять. Они не занимают места и их удаление не влияет на работу ОС. Сама ошибка демонстрирует нам более глубокую связь между Windows 10 и Windows 11.
Provisioning packages for Windows
Applies to
Windows provisioning makes it easy for IT administrators to configure end-user devices without imaging. Using Windows provisioning, an IT administrator can easily specify desired configuration and settings required to enroll the devices into management and then apply that configuration to target devices in a matter of minutes. It is best suited for small- to medium-sized businesses with deployments that range from tens to a few hundred computers.
A provisioning package (.ppkg) is a container for a collection of configuration settings. With Windows client, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image.
Provisioning packages are simple enough that with a short set of written instructions, a student, or non-technical employee can use them to configure their device. This can result in a significant reduction in the time required to configure multiple devices in your organization.
Windows Configuration Designer is available as an app in the Microsoft Store.
Benefits of provisioning packages
Provisioning packages let you:
Quickly configure a new device without going through the process of installing a new image.
Save time by configuring multiple devices using one provisioning package.
Quickly configure employee-owned devices in an organization without a mobile device management (MDM) infrastructure.
Set up a device without the device having network connectivity.
Provisioning packages can be:
Installed using removable media such as an SD card or USB flash drive.
Attached to an email.
Downloaded from a network share.
Deployed in NFC tags or barcodes.
What you can configure
Configuration Designer wizards
The following table describes settings that you can configure using the wizards in Windows Configuration Designer to create provisioning packages.
After you start a project using a Windows Configuration Designer wizard, you can switch to the advanced editor to configure additional settings in the provisioning package.
Configuration Designer advanced editor
The following table provides some examples of settings that you can configure using the Windows Configuration Designer advanced editor to create provisioning packages.
Customization options | Examples |
---|---|
Bulk Active Directory join and device name | Join devices to Active Directory domain and assign device names using hardware-specific serial numbers or random characters |
Applications | Windows apps, line-of-business applications |
Bulk enrollment into MDM | Automatic enrollment into a third-party MDM service Using a provisioning package for auto-enrollment to Microsoft Endpoint Manager isn’t supported. To enroll devices, use the Configuration Manager console. |
Certificates | Root certification authority (CA), client certificates |
Connectivity profiles | Wi-Fi, proxy settings, Email |
Enterprise policies | Security restrictions (password, device lock, camera, and so on), encryption, update settings |
Data assets | Documents, music, videos, pictures |
Start menu customization | Start menu layout, application pinning |
Other | Home and lock screen wallpaper, computer name, domain join, DNS settings, and so on |
For details about the settings you can customize in provisioning packages, see Windows Provisioning settings reference.
WCD, simplified common provisioning scenarios.
WCD supports the following scenarios for IT administrators:
Simple provisioning – Enables IT administrators to define a desired configuration in WCD and then apply that configuration on target devices. The simple provisioning wizard makes the entire process quick and easy by guiding an IT administrator through common configuration settings in a step-by-step manner.
Advanced provisioning (deployment of classic (Win32) and Universal Windows Platform (UWP) apps, and certificates) – Allows an IT administrator to use WCD to open provisioning packages in the advanced settings editor and include apps for deployment on end-user devices.
Learn more
For more information about provisioning, watch the following video:
How provisioning works in Windows
Applies to
Provisioning packages in Windows client provide IT administrators with a simplified way to apply configuration settings to Windows client devices. Windows Configuration Designer is a tool that makes it easy to create a provisioning package. Windows Configuration Designer can be installed from Microsoft Store.
Provisioning packages
A provisioning package contains specific configurations/settings and assets that can be provided through a removable media or downloaded to the device.
To enable adding multiple sets of settings or configurations, the configuration data used by the provisioning engine is built out of multiple configuration sources that consist of separate provisioning packages. Each provisioning package contains the provisioning data from a different source.
A provisioning package (.ppkg) is a container for a collection of configuration settings. The package has the following format:
Package metadata – The metadata contains basic information about the package such as package name, description, version, ranking, and so on.
XML descriptors – Each descriptor defines a customization asset or configuration setting included in the package.
Asset payloads – The payloads of a customization asset or a configuration setting associated with an app or data asset.
You can use provisioning packages for runtime device provisioning by accessing the package on a removable media attached to the device, through near field communication (NFC), or by downloading from a remote source location.
Precedence for provisioning packages
When multiple provisioning packages are available for device provisioning, the combination of package owner type and package rank level defined in the package manifest is used to resolve setting conflicts. The pre-defined package owner types are listed below in the order of lowest to highest owner type precedence:
The valid value range of package rank level is 0 to 99.
When setting conflicts are encountered, the final values provisioned on the device are determined by the owner type precedence and the rank level of the packages containing the settings. For packages with the same owner type, the package rank level determines the package from which the setting values get provisioned on the device.
Windows provisioning XML
Windows provisioning XML is the framework that allows Microsoft and OEM components to declare end-user configurable settings and the on-device infrastructure for applying the settings with minimal work by the component owner.
Settings for each component can be declared within that component’s package manifest file. These declarations are turned into settings schema that are used by Windows Configuration Designer to expose the potential settings to users to create customizations in the image or in provisioning packages. Windows Configuration Designer translates the user configuration, which is declared through Windows provisioning answer file(s), into the on-device provisioning format.
When the provisioning engine selects a configuration, the Windows provisioning XML is contained within the selected provisioning data and is passed through the configuration manager and then to the Windows provisioning CSP. The Windows provisioning CSP then takes and applies the provisioning to the proper location for the actual component to use.
Provisioning engine
The provisioning engine is the core component for managing provisioning and configuration at runtime in a device running Windows 10/11.
The provisioning engine provides the following functionality:
Configuration manager
The configuration manager provides the unified way of managing Windows 10/11 devices. Configuration is mainly done through the Open Mobile Alliance (OMA) Device Management (DM) and Client Provisioning (CP) protocols. The configuration manager handles and parses these protocol requests from different channels and passes them down to Configuration Service Providers (CSPs) to perform the specific management requests and settings.
The provisioning engine relies on configuration manager for all of the actual processing and application of a chosen configuration. The provisioning engine determines the stage of provisioning and, based on a set of keys, determines the set of configuration to send to the configuration manager. The configuration manager in turn parses and calls into the CSPs for the setting to be applied.
Underneath the configuration manager are the CSPs. Each section of configuration translates to a particular CSP to handle interpreting into an action on the device. Each CSP translates the instructions in the configuration and calls into the appropriate APIs and components to perform the requested provisioning actions.
Policy and resource manager
The policy, resource, and context manager components manage the enrollment and unenrollment of devices into enterprise environments. The enrollment process into an enterprise is essentially the provisioning of configuration and device management policies that the enterprise wants to enforce on the device. This is usually done through the explicit signing up of the device to an enterprise’s device management server over a network connection. This provides the user with the ability to access the enterprise’s resources through the device and the enterprise with a means to manage and control access and manage and control the device itself.
The key differences between enterprise enrollment and the configuration performed by the provisioning engine are:
In Windows 10, the application of policy and enrollment through provisioning is required to support cases where an enterprise or educational institution does not have a DM server for full device management. The provisioning engine supports provisioning enrollment and policy through its configuration and integrates with the existing policy and resource manager components directly or through the configuration manager.
Triggers and stages
Triggers are events during the lifetime of the system that start a provisioning stage. Some examples of triggers are: boot, OOBE, SIM change, user added, administrator added, user login, device update, and various manual triggers (such as deployment over USB or launched from an email attachment or USB flash drive).
When a trigger occurs, provisioning is initiated for a particular provisioning stage. The stages are grouped into sets based on the scope of the settings:
Device provisioning during OOBE
The provisioning engine always applies provisioning packages persisted in the C:\Recovery\Customizations folder on the OS partition. When the provisioning engine applies provisioning packages in the %ProgramData%\Microsoft\Provisioning folder, certain runtime setting applications, such as the setting to install and configure Windows apps, may be extended past the OOBE pass and continually be processed in the background when the device gets to the desktop. Settings for configuring policies and certain crucial system configurations are always be completed before the first point at which they must take effect.
Device users can apply a provisioning package from a remote source when the device first boots to OOBE. The device provisioning during OOBE is only triggered after the language, locale, time zone, and other settings on the first OOBE UI page are configured. When device provisioning is triggered, the provisioning UI is displayed in the OOBE page. The provisioning UI allows users to select a provisioning package acquired from a remote source, such as through NFC or a removable media.
The following table shows how device provisioning can be initiated when a user first boots to OOBE.
The provisioning engine always copies the acquired provisioning packages to the %ProgramData%\Microsoft\Provisioning folder before processing them during OOBE. The provisioning engine always applies provisioning packages embedded in the installed Windows image during Windows Setup OOBE pass regardless of whether the package is signed and trusted. When the provisioning engine applies an encrypted provisioning package on an end-user device during OOBE, users must first provide a valid password to decrypt the package. The provisioning engine also checks whether a provisioning package is signed and trusted; if it’s not, the user must provide consent before the package is applied to the device.
When the provisioning engine applies provisioning packages during OOBE, it applies only the runtime settings from the package to the device. Runtime settings can be system-wide configuration settings, including security policy, Windows app install/uninstall, network configuration, bootstrapping MDM enrollment, provisioning of file assets, account and domain configuration, Windows edition upgrade, and more. The provisioning engine also checks for the configuration settings on the device, such as region/locale or SIM card, and applies the multivariant settings with matching condition(s).
Device provisioning at runtime
At device runtime, stand-alone provisioning packages can be applied by user initiation. The following table shows when provisioning at device runtime can be initiated.
When applying provisioning packages from a removable media attached to the device, the Settings UI allows viewing contents of a package before selecting the package for provisioning. To minimize the risk of the device being spammed by applying provisioning packages from unknown sources, a provisioning package can be signed and encrypted. Partners can also set policies to limit the application of provisioning packages at device runtime. Applying provisioning packages at device runtime requires administrator privilege. If the package is not signed or trusted, a user must provide consent before the package is applied to the device. If the package is encrypted, a valid password is needed to decrypt the package before it can be applied to the device.
When applying multiple provisioning packages to a device, the provisioning engine resolves settings with conflicting configuration values from different packages by evaluating the package ranking using the combination of package owner type and package rank level defined in the package metadata. A configuration setting applied from a provisioning package with the highest package ranking will be the final value applied to the device.
After a stand-alone provisioning package is applied to the device, the package is persisted in the %ProgramData%\Microsoft\Provisioning folder on the device. Provisioning packages can be removed by an administrator by using the Add or remove a provisioning package available under Settings > Accounts > Access work or school.
Что нового в развертывании Windows 10
До начала распространения RTM Windows 10 остается совсем немного, и в этом посте я хотел бы кратко рассказать о новшествах в развертывании Windows 10, а также о некоторых особенностях в инструментах и процессах установки ОС, на которые стоит обратить внимание. В основном материал предназначен для тех, кто планирует развертывание Windows 10 в корпоративной среде. Дополнительную информацию можно найти в первом модуле курса «Windows 10: развертывание, управление, безопасность».
Требования к оборудованию, совместимость приложений
Формальные требования к оборудованию перечислены здесь. По сути же можно сказать, что если на вашем «железе» работает Windows 7, Windows 8 или Windows 8.1, то будет работать и Windows 10. Есть, пожалуй, одна тонкость, касающаяся 64-битной версии. Начиная с версии 8.1, Windows использует некоторые инструкции процессора, не поддерживаемые Pentium D. На этих процессорах 64-битная версия Windows 10 работать не будет. Впрочем, я надеюсь, таких процессоров у вас давно нет.
С точки зрения совместимости приложений все выглядит весьма неплохо. В Windows 10 довольно много изменений и усовершенствований, но они в массе своей не затрагивают подсистему Win32, в которой запускаются приложения. Мы предполагаем, что не менее 90% имеющихся десктоп-приложений будут без проблем работать и под Windows 10. Но жизнь – штука сложная, а разработчики – люди креативные, поэтому нет, не 100%. К тому же в некоторых случаях, даже если приложение работает нормально, необходимо чтобы компания-разработчик (ISV) официально подтвердила поддержку / сертифицировала свое ПО под новую ОС. Или же выпустила новую версию.
Применительно к приложениям Windows Store разработаны автоматические тесты, которые проверяют совместимость modern-приложений с Windows 10, обнаруживают потенциальные и реальные проблемы и направляют эту информацию в соответствующие команды разработки ОС. Мы уверены, что подавляющее большинство проблем в этом направлении будет устранено еще до того, как вы их увидите.
Internet Explorer
А вот здесь есть несколько важных моментов, на которые стоит обратить внимание.
Во-первых, как вы наверняка знаете, в Windows 10 будет встроено два браузера – Microsoft Edge (ранее Project Spartan) и Internet Explorer 11. Первый – для просмотра современных сайтов с поддержкой HTML5 и новейших стандартов, второй – главным образом для совместимости с имеющимися веб-приложениями. Применение IE11 особенно актуально в корпоративной среде, где применяются собственные кастомизированные порталы и веб-сайты или веб-приложения, использующие Silverlight. Напомню, Microsoft Edge не поддерживает Silverlight.
Во-вторых, c 12 января 2016 года заканчивается поддержка старых версий IE в ОС Microsoft. В таблице ниже приведены комбинации версий ОС и IE, которые будут поддерживаться после 12.01.2016.
Windows Platform | Internet Explorer Version |
---|---|
Windows Vista SP2 | Internet Explorer 9 |
Windows Server 2008 SP2 | Internet Explorer 9 |
Windows 7 SP1 | Internet Explorer 11 |
Windows Server 2008 R2 SP1 | Internet Explorer 11 |
Windows 8.1 | Internet Explorer 11 |
Windows Server 2012 | Internet Explorer 10 |
Windows Server 2012 R2 | Internet Explorer 11 |
Это означает, что если вы спокойно используете Windows 7 скажем с IE9 и даже не планируете переход на «десятку» в ближайшие месяцы, вам необходимо начать тестирование ваших веб-приложений на предмет совместимости с IE11. Потому что с нового года IE11 будет единственной версией Internet Explorer, поддерживаемой на Windows 7.
Варианты развертывания
Второй вариант также не является принципиально новым и представляет собой обновление системы «на месте». В этом случае сохраняются не только пользовательские данные и настройки, но и все установленные приложения.
Третий вариант – provisioning – ноу-хау Windows 10. Предназначен он для «превращения» нового устройства с Windows 10 в устройство корпоративное, с соответствующими настройками, приложениями и редакцией ОС.
Далее чуть более подробно о каждом из вариантов.
Wipe-and-Load
In-Place
In-Place Upgrade доступен на протяжении многих релизов. Не секрет, что ИТ-департаменты предпочитают использовать чистую установку (Wipe-and-Load), особенно после опыта миграции с XP на Vista. Понимая это, команда Windows провела серьезную работу по совершенствованию процесса обновления. Результаты перехода пользователей с Windows 8 на Windows 8.1 показали, что усилия не прошли даром. Кроме того, были проведены пилоты с рядом заказчиков по обновлению «на месте» с Windows 7 до Windows 8.1, выявившие дополнительные векторы приложения усилий разработчиков.
В итоге, «десятка» поддерживает In-Place Upgrade для Windows 7 SP1, Windows 8, Windows 8.1, то есть для большинства поддерживаемых на текущий момент версий клиентской Windows.
Процесс обновления до Windows 10 состоит из 4 фаз.
1. Down-level. Во время первой фазы Setup проверяет соответствие обновляемого компьютера требованиям Windows 10, собирает информацию о драйверах, настройках пользователя, установленных приложениях. Обнаруженные приложения сверяются с Compatibility Database на предмет совместимости. На последнем шаге формируется образ WinRE (winrm.wim), в который при необходимости добавляются boot critical драйверы, специфичные для данного компьютера. По окончанию этой фазы осуществляется первая перезагрузка.
2. WinRE. Машина загружается с помощью образа WinRE (Recovery Environment), некоей минималистской среды, задача которой скопировать файлы исходной (down-level) версии Windows в папку Windows.old, развернуть образ «десятки» из файла install.wim дистрибутива, создать требуемую структуру каталогов, добавить необходимые для первой загрузки новой ОС драйверы и перезагрузить машину. Во время этой фазы компьютер находится в некотором промежуточном состоянии, когда старая версия Windows уже не используется, новая только готовится к использованию.
3. 1st boot to New OS. По своему наполнению фаза очень близка к этапу Specialize в варианте развертывания Wipe-and-Load. В этой фазе происходит первая загрузка уже новой ОС, устанавливаются драйверы, применяются все необходимые настройки, восстанавливаются приложения (копируются соответствующие ветки реестра, бинарные файлы, если в базе совместимости были обнаружены какие-либо инструкции для тех или иных приложений, они применяются и пр.). По окончании происходит еще одна перезагрузка.
4. 2nd boot to New OS. В заключительной фазе завершаются все миграционные процессы, и перед пользователем появляется экран приветствия, известный как OOBE (Out-Of-Box Experience), где как минимум следует принять условия лицензионного соглашения. На этом процесс обновления ОС завершен.
Хотел бы отметить несколько важных моментов, связанных с In-Place Upgrade.
Одно из новшеств заключается в том, что обновление «на месте» на «десятку» обеспечивает возможность отката всех изменений и возврата к исходной версии Windows. Причем откат возможен как во время любой фазы в процессе обновления (например, в случае сбоя), так и после завершения обновления (например, если что-то не устраивает в новой системе).
Как следствие, в первой фазе во время анализа параметров компьютера Setup вычисляет требуемое дисковое пространство с учетом необходимости хранения папки Windows.old для возможного отката. Если пространства на диске не хватает, пользователь может предоставить внешний носитель (и это еще одно новшество), где будет создана Windows.old. И все же на диске C: должно быть достаточно места, чтобы разместить %SystemRoot% самой «десятки».
Для того чтобы выполнять обновление «на месте» в корпоративной среде с помощью традиционных инструментов, в SCCM vNext и MDT 2013 Update 1 добавлена новая последовательность задач (upgrade task sequence). Детали того, как реализовать такую последовательность задач в SCCM 2012 R2 SP1, можно посмотреть здесь.
При использовании MDT или SCCM компании как правило готовят свой преднастроенный образ ОС. Для успешного же обновления «на месте» необходимо применять стандартный install.wim. Основная причина – сохранение установленных приложений при апгрейде. Если ИТ-отдел добавил в образ Windows 10 какое-либо приложение, а на обновляемой машине это приложение (той же или иной версии) уже установлено, то установщик ОС не сможет выполнить корректное слияние файлов и настроек этого приложения. Он прост не умеет этого делать. В результате может быть нарушена ассоциация расширений файлов приложения, приложение может работать не стабильно или не работать вообще.
Provisioning
Суть варианта развертывания provisioning (подготовка) проще всего пояснить на примере. Предположим, для мобильных сотрудников компания закупает несколько новых планшетов с Windows 10 Professional. Чтобы сотрудники могли начать работу на этих планшетах, ИТ-отдел должен применить к новым устройствам ряд настроек: выполнить апгрейд до Enterprise-версии, включить в домен и/или подключить к Microsoft Intune (или другому MDM-решению), применить политики, загрузить необходимые сертификаты, создать профили Wi-Fi и VPN, установить корпоративные приложения и пр.
Практически все это можно реализовать групповыми политиками. Но последние требуют включения машин в домен, а для ряда мобильных сценариев, возможно, удобнее такие устройства оставлять вне домена. Кроме того, включение в домен либо выполняет сотрудник ИТ-отдела, либо сам пользователь, который должен обладать соответствующими полномочиями и знаниями. Скрипт? Вполне возможно. А если задача схожая, но речь идет о смартфонах?
Provisioning позволяет ИТ-администратору подготовить файл, содержащий все необходимые настройки, а если нужно, то и приложения. Такой файл в зависимости от размера можно прислать по электронной почте, расположить на веб-портале, на сетевой папке, на флэшке. Все что требуется от пользователя – запустить такой файл на нужном устройстве двойным щелчком. Настройки, заданные в файле, применяются к системе, и через несколько минут или даже секунд устройство полностью готово к работе.
Этот же подход применим и к смартфонам с Windows 10. Вместо двойного щелчка мышки могут применяться метки NFC, либо смартфон подключается через USB к компьютеру, отображается в виде иконки в проводнике, и требуемый фал просто переносится на иконку с помощью drag-and-drop.
Конфигурационных или provisioning-файлов можно создать столько, сколько нужно, для разных сценариев, разных типов устройств и пр. Для создания таких файлов используется Windows Imaging and Configuration Designer (Windows ICD) – новый инструмент пакета ADK. Принцип использования Windows ICD довольно прост – в левой части экрана отображаются все доступные настройки и параметры, в средней части экране для нужных вам параметров вы задаете значения, в правой части отображаются выбранные и сформированные настройки.
По окончанию редактирования формируется provisioning-файл с расширением ppkg, который остается доставить на устройство любым доступным способом.
Теме Provisioning будет посвящен отдельный пост (возможно, не один), пока же я хотел бы отметить несколько важных моментов.
Самый важный. Provisioning предназначен для устройств, на которых уже установлена Windows 10, но хотелось бы быстро и без особых административных усилий настроить эти устройства для работы в определенных сценариях.
Windows 10 предусматривает возможность апгрейда редакции Professional до Enterprise путем ввода соответствующего ключа, без переустановки системы. Потребуется лишь одна перезагрузка. А ключ можно как раз указать в ppkg-файле.
После того как ppkg-файл применен к устройству, его можно с устройства удалить (если только вы явным образом не запретили пользователю такую операцию). При удалении файла удаляются все политики, которые были к устройству применены в ходе provisioning.
Ppkg-файл может быть применен как в процессе работы устройства (runtime), так и при первом включении нового устройства на этапе OOBE, например, на съемном носителе.
Можно настроить систему так, чтобы ppkg-файл оставался в системе и применялся автоматически после factory reset. Тогда необходимые настройки применятся к устройству даже после сброса к заводским установкам.
Provisioning, таким образом, будет особенно интересен организациям, в которых допускается использование широкого спектра устройств. Подготовка большого количества преднастроенных образов и бесчисленного набора драйверов для таких организаций может оказаться весьма сложной, если вообще выполнимой задачей. Напротив, ppkg-файлы – это разумный баланс возможностей и простоты реализации.
Я надеюсь, у вас сложилось первое представление о том, какие варианты и инструменты развертывания Windows 10 скоро будут или уже в вашем распоряжении. Ну а мы еще не раз вернемся к этой теме в нашем блоге на Хабре, а также в online- и offline-мероприятиях.