- Функції на вимогу дозволяють видаляти та додавати функції й бінарні файли з Windows з локальних репозиторіїв, ISO-образів або Служба Microsoft Windowsзменшення простору та підвищення безпеки.
- Такі інструменти, як PowerShellDISM та групова політика дозволяють контролювати джерела, встановлення та видалення функцій, включаючи .NET Framework 3.5 та ролі сервера.
- У Windows 10, 11 та Server FOD керуються як можливості, з добре сформованими репозиторіями та типами з супутниковими пакетами або без них для оптимізації місця на диску.
- У Windows Server Core 2019 пакети FoD для сумісності програм наближають роботу до редагування графічного інтерфейсу, не втрачаючи переваг легкої системи.
The Функції Windows на вимогу Це одна з тих тихих змін, які Microsoft представила кілька версій тому, і які, не надавши особливого галасу, повністю змінили спосіб встановлення та підтримки ролей, функцій та додаткових компонентів у Windows 10. Windows 11 і Windows Server. Якщо ви керуєте серверами або корпоративними образами, розуміння того, як вони працюють, більше не є необов'язковим.
Замість того, щоб усю систему завантажували двійкові файли, які, можливо, Ви ніколи не будете ним користуватися; Windows дозволяє вам «додавати та видаляти» функції З локальних репозиторіїв, певних ISO-образів або безпосередньо з Windows Update. Це економить місце на диску, підвищує безпеку та надає вам набагато більше гнучкості під час розгортання або ремонту комп’ютерів і серверів, як онлайн, так і без нагляду.
Що саме таке функція(и) на вимогу у Windows?
Функції на вимогу (FOD) Це назва, яку Microsoft дає додатковим пакетам функцій, які можна додавати або видаляти з системи Windows у будь-який час. Це включає все: від мовних ресурсів (розпізнавання рукописного введення, перетворення тексту в мовлення) до таких компонентів, як .NET Framework 3.5 (NetFx3), інструменти адміністрування, графічні консолі та багато класичних функцій робочого столу в Server Core.
Основна ідея проста: Файли, необхідні для цих функцій, можна видалити з системи («вантаж» знімається або корисне навантаженняЩоб заощадити місце, а також коли це потрібно програмі або адміністратору, Windows може:
- Завантажте пакет з Служба Microsoft Windows, якщо комп’ютер має доступ до Інтернету.
- Візьміть це з спільний мережевий ресурс або внутрішній репозиторій.
- Прочитайте це з Носій інсталяції або ISO-файл «Функції на вимогу».
У корпоративному середовищі це життєво важливо: ви можете створювати легкі образи-посилання, визначати, де шукати бінарні файли за допомогою групової політики, та мати повний контроль. Які функції є в обладнанні та де вони встановлені?Жодних запитів на DVD-диск під час розгортання не відбувається.

Як працює сховище функцій (Side-by-side Store та WinSxS)
Говорячи про функції на вимогу, неможливо не згадати про склад поруч і папку WinSxSУ сучасних системах Microsoft WinSxS – це внутрішній репозиторій, де зберігаються різні версії бібліотек, системних компонентів, ролей та функцій.
Історично цей підхід виник для вирішення відомої «Пекло DLL»Раніше програма могла залежати від певної версії DLL, і якщо інша програма встановлювала іншу версію, все виходило з ладу. Паралельне сховище дозволяє це зробити. кілька версій одного й того ж компонента співіснуютьі що кожна програма використовує ту, яка їй відповідає, не перезаписуючи файли з інших програм.
У сучасних Windows Server та Windows 10/11 це паралельне сховище також включає бінарні файли ролей та функційПід час інсталяції функції з Server Manager, PowerShell або DISM файли копіюються з WinSxS (або зовнішнього репозиторію) до системи. Якщо ви використовуєте функції на вимогу для розвантаження, ви видаляєте їх з машини. файли функцій, які не встановлені, що зменшує розмір WinSxS та системи загалом.
Цікава деталь полягає в тому, що коли файл існує як у системі, так і в паралельному сховищі, Фізично на диску зберігається лише одна копія.Хоча логічно, що це з'являється різними шляхами. Це допомагає стримувати зростання розміру системи, але навіть у цьому випадку на серверах з багатьма ролями може накопичуватися багато непотрібного "навантаження", якщо функції на вимогу не керуються належним чином.
Функції на вимогу у Windows Server 2012, 2016, 2019 та пізніших версіях
Функції на вимогу були представлені в Windows 8 та Windows Server 2012Відтоді спосіб роботи був схожим: ви можете видалити файли функцій (корисне навантаження) та пізніше встановити їх з віддаленого розташування, служби Windows Update або самого інсталяційного носія. Це стосується як фізичних, так і віртуальних серверів, а також непідключених образів WIM або VHD-дисків.
У серверних середовищах типовим механізмом керування цими функціями є PowerShell з командлетами Install-WindowsFeature та Uninstall-WindowsFeature, а також інструменти DISM. У Windows Server 2012/2012 R2, коли бінарні файли для певної функції недоступні локально, система намагається знайти їх у такому порядку:
- Зазначений вихідний маршрут самим адміністратором (у майстрі ролей та функцій або в команді DISM/PowerShell).
- Конфігурація Групова політика «Вказати конфігурацію встановлення додаткових компонентів та відновлення компонентів».
- шукати в Служба Microsoft Windows політика та підключення це дозволяють.
Цю поведінку за замовчуванням можна змінити, вказавши альтернативні шляхи джерел, налаштувавши політики або обмеживши доступ до Windows Update. Це дозволяє організації Централізуйте всі файли, необхідні для встановлення ролей та функцій, у внутрішньому спільному ресурсі..

Створення спільного сховища функцій поруч
Один з найпоширеніших підходів, що використовуються в компаніях, полягає у створенні спільний репозиторій функцій у мережі, з якого будь-який сервер може отримати бінарні файли для встановлення ролей та функцій. Це сховище, яке часто називають магазин поручЦе просто спільна папка з відповідними файлами та належним чином налаштованими дозволами.
Типовий процес його підготовки дуже простий: спочатку ви створюєте папку, наприклад \\сервер\спільний ресурс\sxsта надайте до нього спільний доступ у мережі. Потім скопіюйте папку з інсталяційного носія Windows Server. Джерела\SxS Заповніть цей спільний шлях. Ці файли будуть «корисним навантаженням», яке сервери використовуватимуть під час встановлення функцій на вимогу.
Ключ криється в правах доступу: недостатньо, щоб користувачі могли читати папку; облікові записи команди сервера Тим, хто використовуватиме це сховище, також потрібні дозволи на читання. Це означає, що ви повинні надати доступ ДОМЕН\ІМ'Я_СЕРВЕРА$ (або групі, яка включає ці облікові записи). Надати доступ групі всі Це може бути спокусливо, але з точки зору безпеки це не найкращий варіант.
Після створення ви можете позначити цей репозиторій як початковий маршрут Під час встановлення функцій за допомогою майстра ролей та функцій, PowerShell або DISM система спочатку шукатиме бінарні файли локально, а не в Інтернеті.
Встановлення .NET Framework 3.5 та інших функцій на вимогу
Дуже типовим прикладом використання функцій на вимогу є встановлення . NET Framework 3.5 (включаючи версії 2.0 та 3.0). Починаючи з Windows Server 2012 та Windows 8, бінарні файли NetFx3 Вони недоступні в системі за замовчуванням.; їх було видалено в рамках цієї стратегії зменшення початкового навантаження.
Під час спроби ввімкнути .NET 3.5 без необхідних файлів, Windows Server 2012 та пізніші версії намагаються підключитися до Служба Microsoft Windows шукати їх, за умови, що директиви це дозволяють. Якщо сервер не має доступу до Інтернету, він буде змушений отримати їх з внутрішній репозиторій або інсталяційний носійІ саме тут на допомогу приходять DISM, PowerShell та групова політика.
Загалом, ви можете встановити .NET Framework 3.5 трьома способами: за допомогою командлет Install-WindowsFeature, то Майстер додавання ролей та функцій з диспетчера сервера або за допомогою інструменту DISMУ всіх випадках логіка однакова: вказати функцію (NetFx3) та, за необхідності, вказати вихідний шлях до папки SxS або WIM-файлу, який містить ці файли.

Інсталяція .NET Framework 3.5 за допомогою PowerShell (Install-WindowsFeature)
Для багатьох адміністраторів PowerShell є найзручнішим способом керування ролями та функціями. У разі сеансу з підвищеними правами командлет Install-WindowsFeature Це дозволяє ввімкнути .NET Framework 3.5, вказавши вихідний шлях, якщо бінарні файли відсутні на комп'ютері.
Типовий робочий процес полягає у відкритті консолі PowerShell «Запуск від імені адміністратора» або з робочого столу, або з Server Core, ввівши PowerShell в командний рядокПотім ви виконуєте команду, подібну до:
Install-WindowsFeature.NET-Framework-Core -Source D:\Sources\SxS
У цьому прикладі одиниця D: Він містить інсталяційний носій Windows Server та шлях Джерела\SxS Він обробляє необхідне корисне навантаження для NetFx3. Якщо у вас вже є вихідний шлях за замовчуванням, визначений груповою політикою, або якщо для нього прийнятно спробувати використати Windows Update, Вказівка параметра -Source не є обов'язковою.якщо ви не хочете примусово використовувати певний репозиторій.
Якщо політика вашої організації забороняє доступ до Інтернету або якщо ви хочете забезпечити, щоб сервер завжди використовував локальні ресурси, поєднайте цей підхід із мережевим сховищем SxS та груповою політикою, налаштованою для запобігання завантаження з Windows Update.
Інсталяція .NET Framework 3.5 за допомогою майстра ролей і функцій
У середовищах з графічним інтерфейсом багато адміністраторів все ще надають перевагу класичному Майстер додавання ролей та функцій З диспетчера серверів. Щоб встановити .NET Framework 3.5 звідти, потрібно вибрати цільовий сервер (наприклад, той, що працює під керуванням Windows Server 2016), а на сторінці вибору функцій поставити позначку. . NET Framework 3.5.
Якщо групова політика дозволяє використання служби Windows Update, а сервер має підключення, сам майстер Він спробує знайти та завантажити відсутні файли з Інтернету Натискання кнопки «Встановити» завершить процес. Вам не потрібно буде нічого вказувати. Однак, якщо політики блокують цю опцію або ви віддаєте перевагу іншому джерелу, ви можете скористатися посиланням на екрані підтвердження. «Вкажіть альтернативний вихідний шлях».
У цьому полі, наприклад, ви введете: D:\Джерела\SxS\ для місцевого засобу або маршруту типу WIM:\\сервер\спільний ресурс\встановлення.wim:3 Якщо ви хочете використовувати спільний WIM-файл, вкажіть індекс образу, що містить файли з останнім номером. Після натискання кнопки «ОК» та «Встановити» майстер використає це розташування для отримання корисного навантаження .NET 3.5.
Ця ж схема використовується для встановлення інших функцій, що залежать від функцій на вимогу, особливо під час роботи з легкими інсталяціями або серверами в закритих мережах.
Встановлення .NET Framework 3.5 за допомогою DISM
Інструмент Обслуговування та управління зображеннями (DISM) Це швейцарський ніж для керування образами Windows, як онлайн, так і офлайн. Він дозволяє вмикати або вимикати функції, додавати пакети та керувати можливостями в FOD.
Для .NET Framework 3.5, якщо комп’ютер має доступ до служби Windows Update або вихідний шлях уже визначено в груповій політиці, просто виконайте наступну команду:
DISM /online /Enable-Feature /Назва функції:NetFx3 /All
Ця команда вмикає NetFx3 на запущеній системі. Якщо ж сервер отримує файли з інсталяційного носія, і ви не хочете, щоб він намагався зв’язатися з Windows Update або WSUS, ви можете скористатися такою командою:
DISM /online /Enable-Feature /Назва функції:NetFx3 /All /LimitAccess /Джерело:D:\sources\sxs
Параметр / LimitAccess Це повідомляє DISM про необхідність не шукати на серверах Windows Update або WSUS, використовуючи лише вказані шляхи джерел. Такий спосіб роботи особливо корисний в ізольованих мережах, центрах обробки даних зі суворими обмеженнями або під час підготовки. автономні образи, змонтовані з WIM у папці.
Налаштування альтернативних джерел за допомогою групової політики
Щоб уникнути необхідності вручну вказувати вихідні шляхи щоразу під час інсталяції функції, Windows пропонує спеціальну політику, яка контролює де шукати відсутні файли функцій та як взаємодіяти з Windows Update та WSUS.
Конфігурація називається «Вкажіть конфігурацію встановлення для додаткових компонентів та ремонту компонентів» і знаходиться в:
Конфігурація комп'ютера → Адміністративні шаблони → Система → Вказати параметри встановлення та відновлення компонентів (додаткових)
Увімкнувши його, ви можете ввести повний шлях до спільної папки або до WIM-файлу в полі «Альтернативний шлях до вихідного файлу». Наприклад:
- Спільна папка: \\сервер\спільний\папка
- WIM-файл: WIM:\\сервер\спільний ресурс\встановлення.wim:3 (де 3 – це індекс зображення з файлами)
Крім того, політика включає два ключові варіанти: один вказує на те, що Ніколи не намагайтеся розвантажити робоче навантаження з Windows Update а ще один, щоб, навіть якщо ви зазвичай використовуєте WSUS, оновлення компонентів завантажувалися безпосередньо з Windows Update.
Якщо це налаштовано належним чином, щоразу, коли серверу потрібно встановити функцію, якої на ньому немає локально, Спочатку воно потрапить до вашого корпоративного репозиторію., не покладаючись на те, що адміністратор пам’ятає, щоб ввести правильний шлях, або на підключення до Інтернету.
Видаліть файли функцій за допомогою Uninstall-WindowsFeature та DISM
Річ не лише в установці; фундаментальною частиною функцій на вимогу є позбутися навантаження невикористаних функцій щоб заощадити місце та зменшити поверхню атаки. У Windows Server 2012/2012 R2 та пізніших версіях для цього є два чудові інструменти: командлет Uninstall-WindowsFeature і Команди DISM.
Командлет Uninstall-WindowsFeature дозволяє виконувати обидва завдання видалити функцію Як видалити його файли функцій. Якщо додати параметр - видалитиКорисне навантаження видаляється із сервера або автономного віртуального жорсткого диска, звільняючи місце в паралельному сховищі.
Наприклад, щоб видалити файли з ролі служб віддалених робочих столів, коли залишається інстальованою лише служба ліцензування, можна виконати команду на кшталт:
Видалення-WindowsFeature -Назва RDS-Licensing -Назва_комп'ютера contoso_1 -Видалити
У цьому випадку службу ліцензування видаляють, а потім із сервера видаляють двійкові файли, пов’язані з усією роллю служб віддалених робочих столів. contoso_1Інша можливість — працювати з VHD офлайнвидалення ролей та їхніх файлів безпосередньо з образу:
Видалення-WindowsFeature -Назва AD-Domain-Services,GPMC -VHD C:\WS2012VHDs\Contoso.vhd -Назва_комп'ютера ContosoDC1
DISM, зі свого боку, дозволяє створювати Користувацькі образи WIM Ці інсталяційні носії більше не містять файлів для певних функцій. Це ідеально підходить для створення інсталяційних носіїв, адаптованих до ваших потреб, з меншим розміром файлу та лише тими компонентами, які ви фактично використовуватимете у своїх розгортаннях.
Видаліть усі невикористані завантаження елементів одночасно
У деяких випадках цікаво піти ще далі та Видаліть усі невстановлені корисні навантаження функцій із сервераЦе можна автоматизувати за допомогою PowerShell, комбінуючи кілька команд, використовуючи трубопроводи.
Спочатку ви отримуєте список усіх функцій сервера за допомогою Get-WindowsFeatureПотім ті, чий статус «Встановлено» має значення «Невірно», фільтруються за допомогою Де-Об'єкт з невеликою кількістю сценарій який оцінює кожен елемент списку. Зрештою, цей відфільтрований набір передається до Видалення-WindowsFeature-Видалення щоб видалити всі непотрібні бінарні файли.
Ідея приблизно така: взяти вивід Get-WindowsFeature, відфільтрувати, де $.Installed -eq $FALSE та об’єднайте це за допомогою Uninstall-WindowsFeature -Remove. Таким чином, система залишиться завантаженою лише тими функціями, які у вас фактично активні, звільняючи значну кількість місця.
Випробування показують, що в повноцінних установках, Видалення паралельного сховища невикористовуваних функцій може заощадити близько 10% місцяА якщо ви також перейдете на Server Core та очистите WinSxS, зниження в деяких випадках може наближатися до 30%.
Функції на вимогу, можливості та репозиторії у Windows 10 та Windows 11
У Windows 10 та Windows 11 Microsoft ще більше вдосконалила модель «Функції на вимогу»; тут багато говорять про це. «можливості»які в основному керуються за допомогою DISM з використанням опції /додати-можливостіКрім того, у певних випадках існують методи для розблокувати приховані функції або нав'язувати певну поведінку шляхом реєстрації.
Для Windows 10 існує ISO функцій на вимогу для кожної основної версії (наприклад, 1809, 1903, 2004 тощо). Для Windows 11 Microsoft об'єднала мови та додаткові функції в одну ISO «Мови та додаткові функції»Важливо, щоб ISO-образ FOD або L&OF відповідав вашому образу, оскільки змішування версій може спричинити проблеми сумісності.
У цьому контексті, Windows розрізняє два типи ФОД:
- FOD без супутникових пакетівМонолітні пакети: це пакети, де всі ресурси (включно з мовами) містяться в одному CAB-файлі. Їх можна додавати як... DISM /додавання можливостей Як і в випадку DISM /додавання-пакету.
- FOD із супутниковими пакетамиОсновна частина є мовно-нейтральною, а також є супутні пакети для різних мов та архітектур. Під час їх встановлення, Додаються лише ті супутники, які стосуються вашого зображення.зменшення розміру диска. Їх слід додавати лише разом із DISM /додавання можливостей, вказавши один /CapabilityName; DISM подбає про отримання всіх залежностей.
Для керування цими можливостями використовуються такі команди, як /Get-Capabilities (список доступних можливостей на зображенні), /Get-CapabilityInfo (деталі конкретного) та /Видалити-Можливість (щоб видалити її). Пам’ятайте, що ви не можете видалити функцію, від якої залежать інші; Windows не дозволить вам зробити це, щоб уникнути системних невідповідностей.
Репозиторії FOD та використання DISM /add-capability та /add-package
При використанні DISM /додавання можливостей Щоб попередньо встановити функції в автономному образі, зазвичай потрібен добре сформований репозиторій функцій на вимогуВи можете безпосередньо використовувати змонтований ISO з FOD або мову та додаткові функції, або експортувати лише те, що вам потрібно, до спеціального репозиторію за допомогою DISM /експорт-джерела.
Прикладом потоку буде: Змонтуйте образ Windows (install.wim) В одній папці змонтуйте ISO-образ FOD на іншому диску та виконайте таку команду:
dism /image:C:\mount\windows /export-source /source:D: /target:C:\repository /capabilityname:App.StepsRecorder~~~~0.0.1.0
Припускаючи, що D: — це диск, на який ви змонтували ISO-образ FOD, ця команда витягує пакет можливостей Steps Recorder разом із додатковою інформацією, необхідною DISM, до папки C:\repository. Ця папка потім стає згорнутим репозиторієм, який можна використовувати як /Джерело шляхом додавання можливостей до інших зображень.
Важливо не обмежувати себе вручну скопіюйте файли .cab до будь-якої папки: DISM вимагає додаткові метадані у репозиторії для коректної роботи, і саме це забезпечує /export-source. В іншому випадку ви ризикуєте тим, що команди /add-capability не вдасться виконати або не знайдуть залежності.
Для FOD без супутника також існує опція DISM /додавання-пакетуде ви вказуєте шлях до певного CAB-файлу та додаєте його так, ніби це звичайний пакет. Однак рекомендована практика полягає в уніфікації процедури з /add-capability для всіх FODщоб залежності керувалися узгоджено та вирішувалися належним чином, особливо у Windows 10 та 11.
Функції на вимогу та сумісність програм у Windows Server Core 2019
Windows Server Core набирає чинності завдяки своєму зменшена займана площа, покращена безпека та менша поверхня для атакиКласичною проблемою була сумісність із програмами та інструментами, які очікували знайти компоненти робочого столу. Щоб вирішити цю проблему, Microsoft представила Пакет сумісності програм для Server Core як функції на вимогу.
Ці пакети FoD додають низку функцій до Server Core бінарні файли та графічні консолі Ці функції зазвичай доступні лише у версії Desktop Experience, але без встановлення повного інтерфейсу. Це свого роду золота середина: у вас все ще є Server Core, але у вас є набагато більше локальних інструментів для адміністрування та діагностики.
Серед компонентів, які можна додати як функції на вимогу в Server Core 2019, є мовні ресурси, .NET Framework, засоби спеціальних можливостей, Графічні інструменти для розробки з Direct3D, мережевими інструментами (RAS, RIP Listener, SNMP), сервером OpenSSH та гарною колекцією Інструменти віддаленого адміністрування сервера (RSAT) такі як інструменти ADDS/LDS, DHCP, DNS, кластер відновлення відмов, керування GPO, IPAM тощо.
Пакет FoD для сумісності програм можна отримати кількома способами: з Служба Microsoft Windows (якщо сервер має доступ до Інтернету), через Сервер FOD ISO завантажено з порталу корпоративного ліцензування, Центру оцінювання Microsoft або Visual Studio, і навіть через попередній перегляд інсайдерів збірок тестувати нові функції, перш ніж вони досягнуть фінальної версії.
Інсталяція пакета сумісності (FoD) на Windows Server 2019 Core
У Server 2019 Core найпряміший спосіб встановити пакет сумісності програм – це через Командлет Add-WindowsCapabilityЯкщо сервер має доступ до Інтернету, і політика це дозволяє, ви можете отримати повний пакет з Windows Update за допомогою однієї команди.
Наприклад, щоб встановити основний пакет сумісності програм ServerCore.AppCompatibility, просто виконайте:
Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0
Після завантаження та встановлення система запропонує вам перезавантажитися. Після перезавантаження ви матимете доступ до утиліт, які раніше не можна було запускати в Core, таких як Монітор ресурсів (resmon) o Переглядач подій (eventvwr.exe)Це робить керування та усунення несправностей у Server Core набагато звичнішим для адміністраторів, які звикли до графічного середовища.
Якщо ви не бажаєте покладатися на Windows Update, ви можете Змонтуйте ISO-файл сервера FOD (наприклад, підключивши його до віртуальної машини з вашого гіпервізора) та використовуйте Add-WindowsCapability з параметром -Джерело вказуючи на віртуальний DVD-привід, поєднуючи його з -Обмежений доступ щоб запобігти спробам підключення до Інтернету.
У віртуалізованих інфраструктурах, таких як VMware У vSphere типовий робочий процес зазвичай такий: завантажити ISO-образ FoD, скопіювати його до сховища даних, змонтувати його на віртуальній машині Server Core та знайти на сервері диск, що містить носій, за допомогою Get-PSDriveВи також можете скопіювати ISO-файл локально на сервер і змонтувати його за допомогою Mount-DiskImage -ШляхДоЗображення, а звідти встановити відповідну ємність.
Таке поєднання Server Core + Feature on Demand для сумісності призводить до створення сервера дуже легкий, безпечний та ефективнийАле з класичними інструментами, доступними за потреби, що сприяло впровадженню Server Core у версії 2019 року та пізніших.
Ця вся екосистема функцій на вимогу, репозиторіїв, можливостей та політик робить можливим те, що планувати набагато чистіші розгортанняЗ меншим навантаженням та точним контролем над тим, що встановлюється, коли та звідки, без втрати інструментів, необхідних для комфортного керування та обслуговування ваших систем.
Пристрасний письменник про світ байтів і технологій загалом. Я люблю ділитися своїми знаннями, пишучи, і саме це я буду робити в цьому блозі, показуватиму вам все найцікавіше про гаджети, програмне забезпечення, апаратне забезпечення, технологічні тренди тощо. Моя мета — допомогти вам орієнтуватися в цифровому світі в простий і цікавий спосіб.

