- Історія міс Уінслі
- В глухому куті
- Про що розповів Process Explorer
- Пошуки в реєстрі
- Секретні служби [компонентів]
- Зміна типу облікового запису для запуску провідника
- Запуск провідника з повними правами
- Пункт контекстного меню для запуску провідника з повними правами
 Одного разу посеред спекотного серпневого дня я отримав лист від Холмса - він терміново просив мене приїхати на Бейкер-стріт.  Коли я увійшов до кабінету, там уже сиділа на краєчку стільця дівчина, одягнена скромно, але з великим смаком.
  Одного разу посеред спекотного серпневого дня я отримав лист від Холмса - він терміново просив мене приїхати на Бейкер-стріт.  Коли я увійшов до кабінету, там уже сиділа на краєчку стільця дівчина, одягнена скромно, але з великим смаком. 
«Знайомтеся, це міс Уінслі», - сказав Холмс, вказавши на неї рукою. «Вона розповість свою історію, яка повинна вас зацікавити», - злегка примружившись, додав він.
Історія міс Уінслі
Дівчина почала свою розповідь, збираючись з силами через кожні дві-три фрази і не перестаючи нервово смикати в руках хустинку. Батько її помер, коли вона була ще крихіткою, і мати вийшла заміж повторно за нікого містера Гейтса. Той був дуже багатий, але особливих щедрот падчерки не перепадає.

Три роки тому її мати померла, а недавно цей світ покинув і вітчим. Майже весь свій статок він заповів фонду по боротьбі з піратськими збірками Windows. Дівчині належала лише мала дещиця, якої, втім, їй би вистачило на роки безбідного існування. Однак, чи то з шкоди, чи то просто жартома, містер Гейтс включив в заповіт особливий пункт.
Щоб отримати свою частку спадщини, міс Уінслі повинна була знайти спосіб запустити провідник Windows 7 з правами адміністратора, що не відключаючи контроль облікових записів . Причому на пошуки рішення їй було відведено рівно тиждень.
За попередні шість днів дівчина збилася з ніг, намагаючись знайти рішення. Вона зверталася до найвідоміших детективів, але всі вони говорили їй, що це неможливо.
  Міс Уінслі важко зітхнула і підняла на нас очі, повні благання: 
  - Джентльмени, ви - моя остання надія!  Якщо до вечора ви не підберете ключ до загадки, я приречена на жебрацьке існування. 
  Холмс задумливо подивився на неї: 
  - Зазвичай, я уникаю справ, які потрібно вирішити до певного терміну.  Але оскільки всі ваші карти вже біти, я візьмуся за цю справу.  Думаю, доктор Ватсон мені в цьому допоможе. 
  Коли дівчина пішла, Холмс не поспішаючи запалив люльку і, нарешті, звернувся до мене: 
  - Ватсон, ви сяєте як бляха того вусатого «боббі», що стоїть зараз на розі.  Вам що, відомо рішення? 
В глухому куті
Я завжди вважав, що Холмс не дуже розбирається в сучасних технологіях - саме тому він мене і покликав! Комп'ютер він використовував хіба що для читання кримінальної хроніки, так скачування нот для своїх скрипкових вправ.
Ні слова не кажучи, я розкрив ноутбук, який вірою і правдою служив мені ще з іракської кампанії. Запустивши диспетчер задач з повними правами , Я швидко завершив процес explorer.exe, відкрив Файл - Нова задача, ввів там explorer / separate і натиснув Enter.

Не приховуючи торжества, я посунув Холмсу ноутбук з відкрилися вікном провідника.
  - У explorer.exe є недокументований ключ / separate, що запускає провідник в окремому процесі.  Запуск такої команди з повними правами - це і є ключ до розгадки, Холмс! 
  - Ватсон, по-перше, є більш гуманні способи завершення провідника ... 
Довгі пальці Холмса швидко забігали по клавіатурі, відкриваючи досі невідомі мені можливості оболонки Windows. «А по-друге ...», - він клацнув в адресному рядку провідника, ввів cmd, натиснув Enter і ткнув мундштуком трубки в заголовок вікна командного рядка. На мій сором, там не було написано «Адміністратор».

  - Друг мій, сподіваюся, ви розумієте, що вікно провідника все-таки було відкрито зі звичайними правами? 
  - Гм ... стривайте Холмс, але цей спосіб точно працював в Windows XP! 
Я почав здогадуватися, чому за шість днів ніхто не зміг допомогти міс Уінслі. Вигляд у мене був, напевно, не дуже радісний.
Про що розповів Process Explorer
  Холмс з жалем глянув на мене через кільце диму: 
  - Windows XP ... У вас є Process Explorer?  Хочу показати вам одну цікаву річ. 
Я, як і будь-який досвідчений лікар, завжди тягаю у валізі інструменти компанії Sysinternals .
- Ватсон, коли ви запустили провідник в окремому процесі, підвищення прав не відбулося, і у процесу залишився середній рівень цілісності . Але подивіться уважніше.

  збільшити малюнок 
- Process Explorer показує, що окремий процес провідника запущений з-під процесу svchost.exe командою:
explorer.exe / factory, {75dff2b7-6936-4c06-a8bb-676a7b00b24b} -Embedding
Холмс навів курсор на процес svchost.exe, і я побачив, що це служба запуску процесів DCOM-сервера. Він посунув мені ноутбук, відкинувся на спинку крісла і загадково посміхнувся. Було незрозуміло, чи знає він точне рішення, але напрямок для пошуків він мені показав.
Пошуки в реєстрі
Я відкрив редактор реєстру і запустив пошук по ідентифікатору {75dff2b7-6936-4c06-a8bb-676a7b00b24b}, який використовується в командному рядку провідника. Він привів мене в один з підрозділів HKEY_CLASSES_ROOT \ CLSID. Виходячи з назви параметра за замовчуванням, підрозділ відповідав за запуск декількох процесів провідника одночасно.

  збільшити малюнок 
У параметрі AppID містився інший ідентифікатор, очевидно, відноситься до додатка «Провідник». Подальший пошук по нього в реєстрі привів мене в розділ
HKEY_CLASSES_ROOT \ AppID \ {CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}

  збільшити малюнок 
У параметрі за замовчуванням там було вказано Elevated-Unelevated Explorer Factory, що явно натякало на зв'язок з запуском провідника з повними і звичайними правами.
- Холмс, параметр RunAs зі значенням Interactive User, очевидно, вказує на тип облікового запису для запуску процесу. Можливо, є інші допустимі значення!
Я відкрив браузер, маючи намір пошукати в Інтернеті, але Холмс раптово зупинив мене:
- Хвилинку, Ватсон! Іноді корисно подумати самому, поки Гугл НЕ відучив вас від цього гідного заняття. Ви чули про оснащення «Служби компонентів»?
Секретні служби [компонентів]
Холмс знайшов оснащення пошуком в меню «Пуск» (згодом я дізнався, що можна ще запустити виконуваний файл dcomcnfg.exe).
- Її основним призначенням є налагодження об'єктів DCOM, і ось вам компонент Elevated-Unelevated Explorer Factory. Це не випадковий збіг!

Холмс відкрив властивості компонента, і я побачив, що на вкладці «Посвідчення» передбачений вибір облікового запису для запуску процесів провідника.

«Параметр Поточний користувач (Interactive User) відповідає значенню параметра RunAs в реєстрі», - з авторитетним виглядом пояснив Холмс.
Побачивши і інші варіанти, я припустив, що цей параметр обмежує запуск провідника поточними правами облікового запису, які навіть у адміністратора є звичайними.
  - Виходить, потрібно спробувати встановити параметр «Запускаючий користувач».  Однак чому все опції заблоковані, Холмс? 
  - Це ж елементарно, Ватсон! 
Зміна типу облікового запису для запуску провідника
Холмс переключився в редактор реєстру.
- Оскільки в оснащенні неможливо змінити тип облікового запису, у вас немає прав на внесення змін до розділу реєстру. Це відбувається в разі, якщо його власником є системна обліковий запис TrustedInstaller.
він спритно отримав доступ до розділу реєстру і перезапустив оснащення. Дивним чином у властивостях компонента Elevated-Unelevated Explorer Factory з'явилася можливість змінити тип облікового запису!

Потім Холмс знову повернувся в розділ HKEY_CLASSES_ROOT \ AppID \ {CDCBCFCA-3CDC-436f-A4E2-0E02075250C2} і продемонстрував мені, що параметр RunAs зник після зміни в оснащенні.
Незворушно попихкуючи люлькою, Холмс повернув вихідні права і власника розділу реєстру на свої місця, пояснивши при цьому:
- Як бачите, зміна типу облікового запису для запуску провідника можливо двома способами - в оснащенні «Служби компонентів» і прямо в реєстрі. Втім, Ватсон, я не рекомендую вам видаляти параметр реєстру, тому що досить перейменувати його, наприклад, в xRunAs.
  Він посунув мені ноутбук, даючи зрозуміти, що проблема міс Уінслі вирішена, і єхидно додав: 
  - До речі, Ватсон, тепер зовсім необов'язково завершувати всі процеси провідника.  Просто використовуйте ваш недокументований ключ. 
Запуск провідника з повними правами
Я відкрив командую рядок з повними правами і виконав explorer.exe / separate. Тепер запущений процес провідника (PID 5948) мав високий рівень цілісності.

  збільшити малюнок 
  - Значить, «Поточний користувач» (Interactive User) відповідає маркера безпеки зі звичайними правами, який за замовчуванням видається навіть адміністратору? 
  - Абсолютно вірно, Ватсон!  Згадайте історію   про два квитки на спектакль   .  Коли команда виконується від імені адміністратора, «Запускаючий користувач» вже відповідає маркера безпеки адміністратора.  Тому тепер у провідника високий рівень цілісності, а його права повноцінно підвищилися. 
Я ввів в адресному рядку провідника cmd, і командний рядок відкрилася з повними правами (PID 2612).
  - Можна викликати міс Уінслі? 
  - Звичайно, Ватсон!  І думаю, дівчині буде приємно, якщо ви додасте їй в контекстне меню пункт для запуску провідника від імені адміністратора.  Це послужить наочним поясненням для розпорядників останньої волі містера Гейтса. 
Пункт контекстного меню для запуску провідника з повними правами
  Ледве переступивши поріг, міс Уінслі вигукнула: 
  - Джентльмени, невже ви змогли знайти рішення всього за годину? 
  - Дозвольте ваш нетбук, леді.  Доктор Ватсон покаже вам рішення. 
Міс Уінслі дістала з об'ємною сумочки сріблястий VAIO та простягнула мені. Вже через пару хвилин я створив в контекстному меню пункт для відкриття папки від імені адміністратора .
Windows Registry Editor Version 5.00; Контекстне меню папки [HKEY_CLASSES_ROOT \ Directory \ shell \ ExplorerElevated] @ = "Відкрити папку від імені адміністратора"; Відображення пункту лише, утримуючи клавішу SHIFT "Extended" = "" "Icon" = "imageres.dll, 73 "[HKEY_CLASSES_ROOT \ Directory \ shell \ ExplorerElevated \ command] @ =" nircmd.exe elevate explorer.exe / separate / root, \ "% 1 \" "; Контекстне меню фону папки і робочого столу [HKEY_CLASSES_ROOT \ Directory \ Background \ shell \ ExplorerElevated] @ = "Відкрити папку від імені адміністратора"; Відображення пункту лише, утримуючи клавішу SHIFT "Extended" = "" "Icon" = "imageres.dll, 73" [HKEY_CLASSES_ROOT \ Directory \ Background \ shell \ ExplorerElevated \ command ] @ = "nircmd.exe elevate explorer.exe / separate / root, \"% V \ ""

- Міс Уінслі, вибравши цей пункт і погодившись із запитом контролю облікових записів, ви відкриєте папку провідника з повними правами. Всі програми, запущені з цього вікна провідника, теж матимуть права адміністратора. перетягування файлів в програми з будь-якими правами також буде працювати.
Вперше за час перебування на Бейкер-стріт міс Уінслі посміхнулася, і її очі засвітилися від щастя. Притискаючи до грудей нетбук, вона обсипала мене словами подяки, змусивши навіть почервоніти під іронічним поглядом Холмса.
  Уже в дверях міс Уінслі раптово повернулася і спитала: 
  - Джентльмени, скажіть, а це рішення буде працювати в Windows vNext?  У заповіті є ще один пункт - я повинна перейти на неї в день виходу RTM. 
  Я завмер, але Холмс відреагував миттєво: 
  - Але ж в заповіті не сказано, що ви повинні запускати провідник з повними правами в Windows vNext? 
Дівчина заперечливо похитала головою, подарувала нам ще одну посмішку і зникла за дверима.
  А я не зміг втриматися від запитання: 
  - Звідки у вас такі глибокі пізнання в Windows, Холмс? 
  - Це елементарно, Ватсон!  Я   підписаний на вісник   «Think Outside the Box!», Завдяки якому регулярно поповнюю свій багаж знань.  Та й розібратися в Windows все-таки простіше, ніж навчитися грати на скрипці! 
Обговорення завершено.
Вам що, відомо рішення?Друг мій, сподіваюся, ви розумієте, що вікно провідника все-таки було відкрито зі звичайними правами?
У вас є Process Explorer?
Ви чули про оснащення «Служби компонентів»?
Однак чому все опції заблоковані, Холмс?
Можна викликати міс Уінслі?
