4

Я вижу много ответов о том, как отключить UAC для определенных приложений в своем личном кабинете, но я не видел, чтобы кто-нибудь задавал или отвечал на этот вопрос.

У нас есть семейный компьютер. У каждого из нас есть учетная запись, причем моя учетная запись является учетной записью администратора. У моего сына есть игра, в которую он любит играть, но каждый раз, когда он запускает ее, мне приходится вводить пароль администратора. Это, очевидно, весьма раздражает, и я бы предпочел просто предоставить ему права раз и навсегда.

Как я могу это сделать?

5 ответов5

1

Я смог сделать это с помощью runasspc

Загрузите и извлеките в каталог, к которому пользователь может получить доступ.

Запустите файл runasspcadmin.exe и введите "Путь к игре" (C:\program files ..\game.exe), имя вашего компьютера, на котором указано "localhost", имя пользователя и пароль администратора. Я оставил все остальные параметры по умолчанию. Нажмите "Сохранить Cryptfile"

Теперь пользователь может запустить игру, используя «runasspc.exe» из извлеченного каталога.

Чтобы упростить задачу, вы можете создать для него ярлык на рабочем столе и переименовать его в название игры. Информация о вашем пароле хранится в файле crypt.spc, который не может быть нормально прочитан.

Скриншот

1

UAC нельзя отключить для каждого приложения. Это также было бы очень нелогично: если обычному пользователю нельзя доверять привилегии уровня администратора, ему нельзя разрешить запуск ЛЮБОЙ программы с такими привилегиями. Проблема с игрой, а не с UAC. Ни одна игра не должна требовать прав администратора (и, следовательно, возможности уничтожения) вашего компьютера.

1

Вам не нужно отключать его, вам нужно убедиться, что приложение не требует таких разрешений. Хотя вы можете пойти и сделать все это, самый безопасный подход не делает этого. Process Monitor может помочь вам определить, к каким путям и разделам реестра ему нужен доступ "администратора", дать им все права администратора, а затем просто запустить игру в качестве своей учетной записи.

0

Попробуйте следующее:

  1. Найдите файлы игры, скажем, в C:\Program Files (x86), щелкните правой кнопкой мыши основной исполняемый файл и выберите «Свойства» (если у вас возникли проблемы, вы можете найти путь установки, просмотрев свойства ярлыка на вашем компьютере. рабочий стол).
  2. Нажмите вкладку «Совместимость», а затем нажмите кнопку «Изменить настройки для всех пользователей» в нижней части окна.
  3. Снимите флажок «Запускать эту программу от имени администратора» в нижней части окна.
  4. Нажмите «ОК», чтобы закрыть окно и сохранить настройки, а затем снова нажмите «ОК», чтобы закрыть свойства файла.
  5. Попробуйте запустить игру со своего аккаунта сыновей и посмотрите, решит ли она проблему.
0

Это выполнимо, но вы должны быть в состоянии скрыть пароль администратора внутри скомпилированной программы (ни в коем случае не идеальная защита, но достаточно хорошая, чтобы ваш сын не мог выучить пароль администратора).

Сначала установите psexec из пакета Sysinternals (доступен в виде ZIP-файла от Microsoft). psexec позволяет запускать программы от имени других пользователей (если вы знаете пароль другого пользователя). В приведенном ниже коде предполагается, что вы установили его в C:\sysinternals\psexec.exe . Убедитесь, что учетная запись вашего сына может запускать программу. Для этого потребуется изменить параметры безопасности на psexec.exe чтобы предоставить права на чтение и выполнение учетной записи вашего сына.

Затем скомпилируйте приведенную ниже программу на C в исполняемый файл (назовем ее rungame.exe), но измените код, чтобы иметь правильные пути к psexec и игре, а также измените код, чтобы установить действительный пароль администратора по одному символу за раз ( смотрите комментарии в коде). Вот как мы запутываем пароль администратора внутри EXE-файла. Если вам не хватает компилятора Microsoft (например, Visual Studio), вы можете установить Cygwin с компилятором GCC.

Затем дайте rungame.exe вашему сыну (но не исходный код, очевидно). Когда он хочет запустить игру, он запускает rungame.exe , который запускает игру от имени администратора без запроса пароля.

#include <windows.h>
#include <stdlib.h>

// Be sure to use double-backslashes as path separators in this pathnames!

char * psexec = "C:\\sysinternals\\psexec.exe";   // <-- CHANGE THIS PATH AS NEEDED
char * game = "C:\\path\\to\\game\\program.exe";  // <-- CHANGE THIS PATH AS NEEDED

int main()
{
    char cmd[1024] = { 0 };
    char pw[128] = { 0 };

    // Create the password ("hello" in this example) so that it does not appear as a string in the
    // compiled version of this program.
    pw[4] = 'o';
    pw[3] = 'l';
    pw[2] = 'l';
    pw[1] = 'e';
    pw[0] = 'h';    

    strcpy(cmd, "\"");
    strcat(cmd, psexec);
    strcat(cmd, "\" -d -u Administrator -p \"");
    strcat(cmd, pw);
    strcat(cmd, "\" \"");
    strcat(cmd, game);
    strcat(cmd "\"");

    system(cmd);

    return 0;
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .