Найти тему
(не)Честно о технологиях*

Как запускать программы от имени другого пользователя?

Оглавление

Лайфхак, который решает проблемы учетных записей на русском языке. Всем привет! Я не знаю, как правильно озаглавить эту публикацию, но этот лайфхак я использую, наверное, последние лет 10. Когда меня просят установить/переустановить Windows на компьютере - я всегда прошу людей придумать имя пользователя на английском языке, либо сам автоматом проставляю им "winuser". И имя пользователя на латинице избавляет последнего от массы мелких проблем. На дворе почти 2023 год, и почти все разработчики научились работать с латиницей, но как это часто бывает... есть исключения из правил. Но давайте обо всем по порядку. И обязательно посмотрите закрепленный комментарий под этой статьей! | там будет приятный бонус*

Обложка выпуска...
Обложка выпуска...

Что делать, если ваше имя пользователя уже на русском языке?

Собственно вот мой лайфхак** В Windows есть возможность создавать дополнительные учетные записи пользователей. Делается это буквально в пару кликов (показываю на примере Win10):

  • проходим в "Параметры" системы (кнопка распложена в переключателях на панели задач Windows рядом с часами)
  • в поиске набираем следующий текст без кавычек: "добавление" - первый пункт в поиске это "Добавление, изменение и удаление других пользователей", кликаем на него
  • в разделе "Другие пользователи" жмем на кнопку "Добавить пользователя для этого компьютера" и следуем инструкциям мастера, НО! нам надо создать локальную учетную запись Windows (редмондская компания же в свою очередь, наоборот, хочет "привязать" вас к своему сервису и предлагает создать учетную запись Microsoft), поэтому выбираем следующие опции:
  1. "У меня нет данных для входа этого человека"
  2. и следом "Добавить пользователя без учетной записи Майкрософт"
  • теперь придумываем имя пользователя (у меня это service) и пароль (можно оставить этот блок пустым, но я настоятельно рекомендую все-таки придумать пароль, чтобы с другими программами было как можно меньше проблем | у меня точно такой же пароль, как и имя пользователя, то есть "service")
-2

Далее можно изменить тип учетной записи - сделать ее администратором, но это лишнее. Все! Мы сделали все необходимое для запуска программ от ИМЕНИ другого пользователя. То есть, если программа хочет, чтобы ее запускал пользователь, чье имя было прописано в Windows латиницей, то мы теперь мы можем это сделать. У меня подобные проблемы были с редактором Adobe Audition, платными плагинами для программы Reaper (может быть в последних версиях этот баг устранили, но я никогда не обновляюсь, если софт корректно работает на текущий момент времени и устраивает меня своим функционалом) и некоторыми играми. Точно помню, что проблемы были с Grand Theft Auto: Vice City и из последнего - это улучшенная версия System Shock: Enhanced Edition. Там не сохраняется игровой прогресс, если вы накатали сверху русификатор (без него все работает нормально, но я хочу играть на великом и могучем!)

Как запускать программы от имени другого пользователя Windows?

Нам поможет программа "runas" (ничего устанавливать дополнительно не потребуется! этот функционал уже встроен в систему Windows). Запускаем меню "Выполнить" - это делается нажатием горячих клавиш Win+R (одновременно нажимаем на клавиатуре кнопку "Windows" (она же пуск) и "R" (русская "К"). В открывшемся меню набираем следующую команду:

runas /user:service "D:\Program Files (x86)\Steam\steam.exe"

-3

И теперь минуточку внимания! service - это имя моего вспомогательного пользователя (того самого, которого мы с вами только что создали) | у вас это может быть winuser или что-нибудь другое. Указывается здесь имя вашего вспомогательного пользователя. Далее в кавычках указан путь до исполняемого файла программы, с которой у меня возникла проблема. Игра System Shock запускается "из под" клиента Steam, поэтому запускать нужно не исполняемый файл игры, а именно клиент магазина Steam. Это так. Пояснение на будущее - если у вас вдруг тоже будут какие-то проблемы с играми из Steam. В случае с Adobe Audition команда выглядит так:

runas /user:service "D:\Apps\Adobe Audition 2020\AuditionPortable.exe" (да, у меня portable-версия программы, не требующая установки - мне так удобнее | может быть проблема с русским именем пользователя была как раз из-за того, что сборку делал американец, и у него даже в мыслях не было, что его софтом воспользуется кто-то из России)

-4

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

Почему возникают проблемы? И почему твой способ помогает их избежать

Тут я могу ответить вам однозначно - это из-за криворукости разработчиков, или из-за банального недосмотра. Проблему с System Shock можно решить несколько иначе - создать в разделе C:\Users папку с именем текущего пользователя Windows, но в кодировке ANSI (у нас используется UTF-8). Тогда игра будет распознавать эти "кракозябры" как родные: Владимир (имя моего пользователя) и никаких проблем с сохранением прогресса больше не будет. Так советуют поступить в сообществе Steam в разделе обсуждения проблем, связанных с запуском System Shock: Enhanced Edition... Но мне мой метод нравится чуть больше, да я и привык к нему. Каким образом мой способ помогает избежать проблемы с именем пользователя? Программы, которые некорректно работают с кириллицей, зачастую не могут либо создать файлы (либо прочитать их) в каталоге C:\Users\Имя_пользователя_на_русском_языке\AppData\... | программы "спотыкаются" на Имя_пользователя_на_русском_языке

Также в меню "Пуск" можно разблокировать возможность запускать нужные вам игры и программы через учетные записи других пользователей Windows.
Также в меню "Пуск" можно разблокировать возможность запускать нужные вам игры и программы через учетные записи других пользователей Windows.

А когда вы запускаете их через winuser или service, то они без проблем находят путь до папки "AppData". Вот и вся магия 🤷‍♀️ Эта статья из рубрики #гайдыотнечестноотехнологиях

Теги для поискового алгоритма: #гайдыотнечестноотехнологиях #system shock enhanced edition не сохраняет прогресс #игра не видит сохранения #у программы не сохраняются настройки #современныетехнологии

Поблагодарить меня за работу можно подпиской, комментарием под публикацией, или просто поделитесь этим материалом со своими друзьями | надеюсь, что данный материал вам понравился. Всем добра!