Створення програми завжди виконується як інший користувач


2

Я шукаю альтернативу runas.

Чи можна налаштувати певну програму, яка завжди працює під іншим обліковим записом?

Це сильно відрізняється від визначення короткої операції, яка робить запуск (як є недоліки, які я намагаюся запобігти).

Я хочу сказати системі, що якщо ви запустите Nitro, він повинен працювати як інший користувач.

Метод визначення скорочень не буде добре працювати для мене, тому що він повинен буде запустити короткий розріз, а потім перейти до файлу, і він втратить можливість просто двічі натиснути на PDF і Nitro автоматично відкрити, що pdf (я хочу продовжувати мати можливість автоматично відкривати PDF, що користувач двічі натискав, але, він повинен завжди працювати як інший користувач в Nitor - програма за замовчуванням PDF).

Люди, не голосуйте за це лише тому, що відповідь може бути "Ні, її неможливо". Я думаю, що це може бути неможливо, але я був здивований раніше (до мого захвату, але все ж таки голосував за те, щоб задати цінне питання). Якщо є відповідь на це, це буде дуже цінним.

Я фактично використовую Windows 7, але якщо це можливо на 10, то я розгляну оновлення.

Відповіді:


0

Я думаю, що так як це можна зробити, замінивши виконуваний додаток скриптом, який виконує a Команда RunAs .

Це може бути будь-який скрипт або скрипт, скомпільований як виконуваний і з таким же ім'ям.

Якщо ви не хочете замінювати виконуваний файл, ви можете написати додатковий сценарій, наприклад .bat або .cmd і помістіть його в ту ж папку, що й папка .exe. Ви потрапите сюди в проблему Windows воліє працювати .exe перед цими типами.

Ви можете змінити порядок пріоритетів, змінивши середовище PATHEXT змінна, значенням за замовчуванням є .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC, таким чином, щоб перевищити пріоритет обраного вами суфікса до цього .exe.

Для отримання інформації про PATHEXT див. Відповіді answer1 і answer2 .


не впевнений, що я слідую. Я двічі клацніть на PDF. Я хочу Нітро для запуску і відкриття, що PDF, але запустити його в якості користувача XYZ. Ви говорите, я можу мати пакетний файл буде файл, який працює, коли PDF подвійний клік, і що пакетний файл буде приймати шлях PDF натиснув як вхідний параметр? як це працює на практиці? це можливо? Ви можете надати невеликий приклад коду?
Kam

Це означає, що вам доведеться замінити нітро, і це вплине на всі ваші PDF-файли. Не впевнений, що ви мали на увазі це саме так.
harrymc

0

Існує спосіб зробити це, але вам доведеться комфортно з деякими реєстру злому. Я викладу його крок за кроком:

  1. Запустіть редактор реєстру (regedit.exe) і розгорніть HKEY_CLASSES_ROOT. Цей ключ - це місце, де Windows записує всі асоціації типів файлів і як вона знає, яку програму потрібно відкрити, двічі клацнувши файл.
  2. Знайдіть ключ .pdf і зробіть нотатку (за замовчуванням) праворуч. Це буде ім'я ідентифікатора програми, пов'язаного з файлами PDF у вашій системі. У моїй системі встановлено Acrobat, тому моя команда каже AcroExch.Document.2017. Ваш може сказати щось інше, якщо Nitro є програмою за умовчанням для відкриття PDF-файлів.

Screenshot showing the .PDF file association

  1. Прокрутіть вниз, щоб знайти ключ із вказаною вище назвою. Зауважте, що ми все ще переглядаємо HKEY_CLASSES_ROOT. Також зверніть увагу, що, ймовірно, буде багато ключів з дуже схожими назвами. Ви повинні точно зрівняти назву .
  2. Опустіть цю клавішу і перейдіть до shell - & gt; Відкрити - & gt; команду як показано нижче. Значенням (за умовчанням) є команда, яку буде виконувати Windows, коли ви відкриєте файл (тобто двічі клацніть).

Screenshot showing the Open command line

  1. Ви можете поставити будь-яку команду, яку ви хочете тут. Зверніть увагу, що в моєму прикладі команда показує повний шлях до файлу .EXE, за яким йде аргумент (ім'я файлу):

    "C:\Program Files (x86)\Adobe\Acrobat Reader 2017\Reader\AcroRd32.exe" "%1"
    

    У моїй системі я б змінив його на:

    runas /user:<user> "\"C:\Program Files (x86)\Adobe\Acrobat Reader 2017\Reader\AcroRd32.exe\" \"%1\""
    

    Де <user> буде ім'ям облікового запису.

Це воно. Ви можете закрити редактор реєстру і все готово.

ПРИМІТКА Кунг-фу я мав робити з лапками на кроці 5. Це важливо, що ви отримаєте це право. Команда для відкриття PDF-файлів на моєму комп'ютері більше не існує AcroRd32.exe, його runas.exe. Runas.exe приймає лише один аргумент - повний командний рядок для виконання, як якщо б ви ввели його з командного рядка. Оскільки в цьому рядку є пробіли, все це повинно бути загорнуте в лапки. А оскільки сама цитована рядок також містить лапки (оскільки ім'я файлу може містити пробіли), ці лапки повинні бути виділені як літерали рядка.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.