Безопасно изчистване на папката WinSXS в Windows Server 2012

Преди да говорим за безопасен начин за почистване на папката WinSxS в Windows Server 2012, нека се опитаме да разберем какъв вид папка е, какво се съхранява в нея и защо тя се увеличава с времето.

Ако си спомняте, че когато инсталирате допълнителни компоненти в Windows Server 2003, съветникът за инсталиране, необходим за поставяне на инсталационния диск в CD-Rom или да посочи пътя към директорията с дистрибуцията на Windows Server 2003. В Windows Server 2008 Microsoft реши да промени подхода за инсталиране на допълнителни роли и функции на Windows. Сега всички двоични файлове, необходими за разгръщане на всяка роля, се съхраняват в директорията C: \ Windows \ WinSxS (WinSxS - Windows един до друг). Това означава, че когато инсталирате каквато и да е допълнителна роля, сега няма нужда да търсите и свързвате дистрибуционен диск към сървъра. Естествено, при този подход ОС изисква много повече дисково пространство. Трябва да разберете, че директорията WinSXS съдържа ключовите компоненти на системата, така че не можете да премахнете нищо ръчно от нея. Защо така Размерът на папките WinSXS непрекъснато расте? Отговорът е прост - актуализации. Когато инсталирате актуализации за различни компоненти, старата и новата версия на обновения компонент остават в директорията WinSXS. Благодарение на тази архитектура можем безопасно да премахнем всяка инсталирана актуализация по всяко време и да се върнем към старата версия на компонента.

Съдържание:

  • Функции при поискване в Windows Server 2012
  • Инсталиране на отдалечени роли и функции в Windows Server 2012

съвет. Потребителите на Windows 7 SP 1 могат да намалят размера на папката WinSxS чрез премахване на неизползвани актуализации.

Но какво ще стане, ако системата е работеща и няма планове за разполагане на допълнителни роли и няма достатъчно дисково пространство? В крайна сметка е нелогично, че на системния диск няколко гигабайта са заети от дистрибуции, които никога няма да са необходими! За съжаление, в Windows Server 2008 изтриването на тези файлове без да навреди на системата е доста трудно. Въпреки това, в новата сървърна операционна система - Windows Server 2012, Microsft реши да отстрани този недостатък и въведе нова функция, наречена Функции при поискване.

Функции при поискване в Windows Server 2012

функция Функции по поръчка (функции при поискване) ви позволява да намалите размера, зает от системата на диска, осигурявайки възможност за изтриване на двоични файлове с неизползвани роли от папката WinSxS. В случай, че в бъдеще се наложи да върнете изтритата преди това роля, тогава всички файлове, необходими за работата на ролите, могат да бъдат извлечени от изображението за разпространение на Windows Server 2012, услугата за актуализиране на Windows или мрежов ресурс с оригиналното съдържание на WinSxS.

Използвайки следната команда Powershell, можете да получите информация за всички роли на системата:

Get-WindowsFeature

Както виждате, в колоната Инсталирайте състояние Показва се състоянието на всяка роля. Възможни състояния:

  • Инсталирана: роля или функция е инсталирана и в момента се използва от системата
  • наличен: ролята не е инсталирана на сървъра, но дискът съдържа всички необходими файлове, които ви позволяват да инсталирате / активирате тази роля по всяко време.
  • Премахнато: - ролята или функцията на сървъра не е инсталирана, необходимите за инсталирането му файлове се изтриват от диска

Съответно, когато инсталирате каквато и да е роля чрез GUI или Powershell (команда Install-WindowsFeature), нейният статус от Available changes to Installed и при деинсталиране (команда Uninstall-WindowsFeature), обратно.

Можете напълно да премахнете роля от диска (от папката WinSxS) само чрез Powershell. За целта използвайте специалния аргумент на командата Uninstall-WindowsFeatur  - Премахни.

Например, за да изтриете двоични файлове за ролята на DHCP сървъра, изпълнете командата:

Деинсталиране на WindowsFeature -Име DHCP -Отстраняване

За да изтриете файловете с директории на домейна на Active Directory:

Деинсталирайте-WindowsFeature AD-Domain-Services -Отстранете

С помощта на тръбопроводите на Powershell можете да напишете по-сложна команда, която премахва инсталационните файлове от всички неизползвани роли и функции на Windows Server от диска:

Get-WindowsFeature | Where-Object $ _. InstallState -Eq “Налично” | Деинсталиране-WindowsFeature -Отстраняване

В нашия пример, при условие, че е инсталирана само ролята на файловия сървър, размерът на папката WinSxS намаля от 8 на 5.2 GB. Не е лошо, нали? Освен това, за да изчистим папката WinSxS, ни трябваше само една команда.

Инсталиране на отдалечени роли и функции в Windows Server 2012

Помислете за друг сценарий, който предполага, че трябва да инсталирате определена роля на Windows Server 2012, чиято дистрибуция е премахната от директорията WinSxS. Има няколко начина за възстановяване на роля: използване на GUI Server Manager или използване на Powershell.

Преди да започнете възстановяването на ролеви файлове, трябва да определите индекса на инсталираното издание на Windows Server 2012. Ще ни е необходим диск с дистрибуторския комплект за Windows Server 2012 (или по-скоро файлът с изображения на инсталацията.wim, разположен в директорията с източници). Изпълнете следната команда Powershell:

Get-windowsimage -imagepath \ source \ install.wim

Намерете версията на Windows Server, инсталирана на вашия компютър и запомнете неговия индекс (стойността в реда за индекс). В нашия пример това е Център за данни на Windows Server 2012 с индекс 4. (Вече разгледахме характеристиките на работата с различни издания на Windows 2012 в една дистрибуция в статията "Интегриране на драйвери в инсталационния диск на Windows Server 2012").

Същата операция може да се извърши с помощта на помощната програма Dism:

dism.exe / get-imageinfo /imagefile:d:\sources\install.wim

Инсталирайте отдалечена роля чрез Server Manager

Отворете конзолата на Server Manager и стартирайте съветника за добавяне на роли и функции. Изберете ролята или функцията, която искате да инсталирате. Съветникът ще предупреди, че някои от файловете, необходими за инсталирането на тази роля, липсват и трябва да посочите алтернативен път до мястото на разпространение. Посочете алтернативен път на източника.

В полето Path посочете пълния път към файла intall.wim и индекса на инсталираното издание на OS в този формат:

WIM: D: \ Източници \ Install.wim: 4

Ако е необходимо, в този ред можете да посочите мрежовия път до директорията с WIM файла или мрежовия път до директорията WinSxS. Освен това пътят до тази директория може да бъде зададен веднага за група сървъри, използващи групови правила ( Конфигурация на компютъра -> Административни шаблони -> Система -> Укажете настройки за инсталиране на допълнителни компоненти и ремонт на компоненти). Последната опция е удобна в случай на голям брой инсталации на сървър с Windows Server 2012, тъй като общият ефект от почистването на папката WinSxS може да достигне стотици GB.

След щракване на бутона OK всички необходими файлове за инсталираната роля ще бъдат копирани в директорията WinSxS.

Възстановяване на изтрита роля на Windows 2012 с помощта на Powershell

Можете да направите същата операция само с една команда Powershell. Да предположим, че трябва да възстановим изтритите файлове с ролята на ADDS. Изпълнете следната команда:

Install-WindowsFeature AD-Domain-Services -Source WIM: WIM: D: \ Sources \ Install.wim: 4

И така, в тази статия разбрахме нова функция на Windows Server 2012, наречена Функции по поръчка, която ви позволява да премахнете двоични разпределения на неизползвани роли на сървъра от директорията WinSxS. Ако е необходимо, изтритата роля може лесно да бъде възстановена: всичко, което е необходимо за това, е дистрибуцията на Windows Server 2012.

В Windows 8 функцията Feautere on Demand работи малко по-различно, факт е, че командлетът на Powershell, който използваме, просто липсва. Нейният партньор (не толкова удобен) е командата DISM с опцията / Disable-Feature. Освен това можете просто да компресирате съдържанието на директорията Winsxs. Подробности в статията Как да намалите размера на папката Winsxs в Windows 8