Стала задачка знову пограти в сисадміна. А суть ї полягала в тому, що не маючи всіх необхідних плюшок таких як Active Directory, Group Policy зробити запуск певної програми від прав адміністратора, не даючи користувачу ні пароль, ні права локального адміна на його робочій станції!
В принципі цікаво, враховуючи, що я ніколи не задавався питанням як це зробити відносно просто і без зайвих танців з бубном. В пошуку Google маса відповідей, але мені особисто сподобалась лише одна стаття, а точніше її окремий фрагмент. В результаті якого вийшло досить елегантне і дуже просте рішення.
Його суть полягає в використанні вбудованих можливостей системи Windows, яка зветься RunAs.
Але давайте все по порядку. Наш поточний .....адмін (нажаль сам трушний адмін хворіє й досі) не хоче в повній мірі виконувати обов'язки, а його напарник енікейщик хоч і гарно розбирається в апаратній частині, але досить кепсько в програмній =)
То ж в одному з підрозділів потрібно запустити програму NcStudio, і вона для коректної роботи потребувала прав адміна, бо в іншому випадку вибивала щось типу цього:
А це навіть хз як перекласти щоб прочитати, мабуть то щось на клінгонському! Зазвичай енікейщики не парили собі мозок, і тупо давали користувачам права адміна, і на тому все. Тому яскравий був приклад з перезапуском служби "Диспетчер друку".
А чому не можна давати такі права всім користувачам підряд, можна побачити на одному фото:
В ньому прекрасно і жахливо все водночас!
Але давайте ближче до суті. Для того щоб запустити застосунок від імені адміністратора (тобто користувача, що має адмінськи права в системі), не надаючи користувачеві ні прав адміністратора, ні логіна з паролем, нам треба створити ярлик для необхідної програми, де буде викликатись спеціальна команда під назвою RunAs. В неї досить простий синтаксис, але з парою нюансів, як я опишу в процесі.
То ж перше, що нам треба зробити, це натиснути правою кнопкою миші наприклад на робочому столі, та в контекстному меню обрати пункт "Створити ярлик"
Далі в вікні, що відчиниться, в полі "Вкажіть розташування об'єкта", необхідно ввести наступну команду:
runas /user:(тут вкажіть назву вашого ПК або домену)\(тут вкажіть ім'я користувача) /savecred "C:\Program Files\CrystalDiskInfo\DiskInfo64.exe"
Тут слід зазначити, що після "/user:" слід вказати назву вашого комп'ютера, або ж назву домену, а після слешу вказати ім'я користувача. Для наглядності це буде виглядати приблизно так:
runas /user:PC\user /savecred "C:\Program Files\CrystalDiskInfo\DiskInfo64.exe"
Далі задайте назву ярлику, та натисніть кнопку "Готово" або "ОК".
По суті це майже все. Після запуску програми, одноразово відбудеться запит паролю, введеного вами користувача.
Якщо після запуску ярлика нічого не відбулось, тобто потрібна програма не запустилась, то є ймовірніть, що або ви ввели невірні облікові дані, або вам було відмовлено в доступі!
Як дізнатись назву ПК або домену?
Дізнатись можна через параметри системи, або скориставшись командою "whoami" в командному рядку
І в разі якщо ви помились з назвою ПК чи домену, або ж імені користувача, то видаліть ярлик, та створіть новий, але вже з вірними даними.
А якщо була допущена помилка при введенні паролю?
В такому випадку, попередні дані, які було збережено системою треба видалити, перезапустити ПК, та під час запуску ярлика, ввести правильний пароль.
Щоб видалити збережені дані, натисніть сполучення клавіш "Win+R" і введіть наступну команду в вікні, що з'явилось:
RunDll32.exe keymgr.dll,KRShowKeyMgr
Та натисніть на кнопку "ОК".
Далі відкриється вікно зі збереженими в системі даними, де необхідно знайти наші, та видалити їх.
Хоча в тому ж вікні можна відредаувати пароль, але в більшості випадків переавантажити ПК все ж доведеться. Для цього замість кнопки "Видалити" натисніть "Змінити"
Потім в вікні що відкриється в полі пароль, видаліть всі символи, та ведіть вірний пароль, і натисніть кнопку "ОК".
Це звісно не зовсім простий шлях для вирішення ціє проблеми, є і простіші, наприклад вже готове ПЗ для запуску від імені іншого користувача. Але проблема полягає в тому, що воно було написано ще за часів Windows XP, тож на поточних версіях Windows10/11 їх роботу я не перевіряв (хоча мабуть треба буде написати якусь приблуду для себе)
Корисні посилання: