При роботі з провідником Windows (Explorer) на сервері з правами локального адміністратора досить часто доводиться відкривати системні каталоги, профілі інших користувачів або правити захищені системні файли. При спробі відкрити такий каталог / файл за допомогою провідники в поточному контексті, з'являється попередження вікно UAC про необхідність надати доступ і підвищити привілеї.
Як це виглядає: пробуємо в провіднику відкрити системний каталог C: \Windows \security \audit - з'являється вікно User Account Control, в якому стверджується, що доступу до каталогу немає (You don 't currently have permission to access this folder). Але доступ можна отримати, натиснувши кнопку Continue.
Все б нічого, але після виконання такої операції в NTFS дозволах на папку явно прописується ваш обліковий запис. Хоча все що ми хотіли - переглянути вміст каталогу, а не міняти його ACL!
Природно, при активній роботі з системними файлами це вискакує повідомлення UAC починає дратувати. Оскільки відключати заради цього UAC зовсім не хочеться, довелося знайти власний спосіб запуску процесу Провідника (Exploler.exe)
Примітка. Процес Windows Explorer запускається при вході користувача в систему зі стандартним токеном доступу користувача, працює в фоновому режимі і відповідає за відображення робочого столу. Стандартами засобами підвищити привілеї для провідника можна, і запустити другий процес у режимі "Run as admin" не вдасться.- Запустіть командний рядок cmd.exe з правами адміністратора (Run as administrator).
- Виконайте команду:
tskill explorer & explorer
Зазначена команда завершить поточний процес explorer.exe для даного користувача і запустить новий, який успадкує підвищений маркер доступу, з якими запущений cmd.exe.
Упевниться, що Провідник запущений в привілейованому режимі можна за допомогою диспетчера задач (Task Manager). Запустіть його і перейдіть на вкладку Details, де клацніть ПКМ по будь-колонці, виберіть Select columns і включіть відображення стовпця Elevated. Як ви бачите, у процесу explorer.exe тепер з'явився атрибут Elevated =Yes.
Після виконання цього трюку Провідник зможе відкрити будь-яку системну папку без попереджень UAC, крім того, всі дочірні процеси, запущені з провідника також будуть нагавкати підвищеними правами. Наприклад, це зручно коли потрібно відредагувати файл hosts (C: \ windows \ system32 \ drivers \ etc), відкриваючи його блокнотом прямо з провідника, без необхідності відкривати окремий процес notepad.exe з правами адміністратора або від імені іншого користувача.
Щоб частково автоматизувати цей трюк, можна на робочому столі створити bat файл з цією командою, в разі необхідності підвищити привілеї для Провідника, запускати його з правами адміністратора по ПКМ.