===================================================================== AJPapps - Run app as... 1.01 AJPapps - Run app as Admin 1.01 AJPapps - Run app as Guest 1.01 AJPapps - Run app as System 1.01 Линда Кайе 2010-2019. Посвящается Ариэль ===================================================================== Эти утилиты предназначены для запуска программ под профилем другого пользователя. Это может быть очень полезным, когда возможности и ограничения встроенной RunAs не позволяют достичь нужного результата. Например, RunAppAsGuest позволяет запустить программу с учётной записью Гостя не указывая ни каких данных вроде имени пользователя и пароля. Программы работают только в системе Windows 2000 и более поздних. Исключение составляет Run app as System - она работает на всех NT системах. История создания ---------------- Собственно, мне не всегда нравилось, что RunAs запрашивает пароль даже в том случае, если ни какого пароля и нет. И это нельзя было обойти. А кроме этого, RunAs в некоторых случаях просто отказывалась работать, что было абсолютно не понятно, в чём дело. А мне всего-то надо было запустить Internet Explorer под гостем... Поэтому я и написала AJPapps - Run app as Guest. Но потом мне показалось, что это достаточно интересная идея, и я написала целый пакет, который запускал бы программы под Гостем, под Админом и под любым указанным пользователем. 30.03.2010: Спустя несколько лет я стряхнула пыль с проекта и наконец добавила утилиту, которая запускает программу под учёткой локальной системы. Вообще-то, это делается простой командой AT, но так нужно помнить параметры командной строки и текущее время, поэтому я решила немного всё автоматизировать и выпустить такую утилиту в общем пакете. Больше изменений вроде бы нет, а как заставить прочие утилиты работать под той же NT 4.0 я так и не поняла... Внимание! --------- Основные ограничения RunAs были связаны с тем, что программа не должна была позволить сохранить пароль в текстовом виде. В частности, нельзя было передать ей на ввод файл с паролем или нельзя было в командной строке указать пароль - это была защита пользователя от его же глупости. Данные утилиты преодолевают эти ограничения и дают волю глупости. Вы должны осознавать, что все пароли передаются и сохраняются в виде чистого текста. Так, если файл настроек RunAppAs.INI попадёт в руки злоумышленнику, он будет знать пароль. Также передаваемый в виде командной строки пароль ни чем не защищён. Вы должны быть абсолютно уверены в том, что Вы делаете и в том, что пароль не попадёт в руки к злоумышленнику. В любом случае, сами по себе программы их ни куда не сохраняют. Даже INI файл редактируется вручную самим пользователем. История изменений ----------------- • 1.01.0026 [29.09.2019] [+] Небольшой рефакторинг. [+] Версии программ синхронизированы для ведения ченджлога. [+] Обновлена библиотека AJPappsSupport0100.DLL. [-] Теперь при неправильной расстановке кавычек программы не падают со стандартным сообщением об ошибках. • 1.01.0027 [30.09.2019] [+] Немного переделаны сообщения с подсказкой о параметрах командной строки. Зависимости ----------- Для работы этой программы нужны следующие компоненты: • AJPapps - AJPapps support library 1.00 Файл AJPappsSupport0100.DLL • Microsoft Visual Basic Virtual Machine Файл MSVBVM60.DLL Эти компоненты обязательны. Они уже включены в программу установки ^_^ Информация о разработке ----------------------- Язык: Microsoft Visual Basic 6.0 SP6 Платформа: Windows XP Professional SP3 Установка --------- Так как эти утилиты не используют ничего особенного, они упакованы в самораспаковывающийся архив, который можно распаковать куда угодно. Архив называется Install.RunAppAs.EXE и содержит сами утилиты и библиотеку, которую лучше держать в том же каталоге, что и утилиты. Использование ------------- Чтобы посмотреть параметры запуска программ, просто запустите их без параметров ^_^ Обратите внимание, что имя пользователя указывается либо само по себе (например, "Линда Кайе"), либо вместе с доменом (например, "Линда Кайе@USURA.NET" или "USURA.NET\Линда Кайе"). Пароль может быть пустой строкой, но всё равно должен быть в кавычках. Обратите внимание, что для нового процесса будет установлен текущий каталог. Тоесть, если утилита запускается из папки на SUBST диске, который подключается при входе пользователя в систему, то при загрузке профиля другого пользователя этот диск не будет подключён, а, следовательно, текущий каталог не будет существовать. Поэтому произойдет ошибка. RunAppAs.INI ------------ В каталоге с утилитами может находиться файл RunAppAs.INI, который содержит учётные данные администратора и гостя. Вот его пример: [Guest] Login=Guest Password= [Admin] Login=Administrator Password=AbraKadabra В секции Guest указываются учётные данные гостя, которые использует AJPapps - Run app as Guest. Параметр Login указывает логин гостя, на случай если он отличается от стандартного. Параметр Password указывает пароль гостя. В данном случае это пустая строка. Секция Admin устроена также, но содержит учётные данные администратора, которые использует AJPapps - Run app as Admin. Run app as System ----------------- Эта программа - особенная, она работает немного не так как остальные. Она запускает программы с правами локальной системы (как сервисы), при чём делает это через службу "Планировщик заданий" - она должна быть запущена. Заметьте, что запуск планируется на следующую минуту, то есть если вы запустили Run app as System в 12:46 AM, то переданная ей программа будет запущена в 12:47 AM. Также заметьте, что в самом планировщике заданий можно указать учётную запись для команды AT - под ней и будет запущена переданная программа. Несколько примеров использования -------------------------------- > RunAppAsGuest "C:\Windows\Notepad.EXE" Запускает программу Блокнот из каталога Windows. Кавычки следует указывать если имя файла содержит пробелы. > RunAppAsAdmin "C:\Program Files\HMS\24Hours.EXE" /redcar /night Запускает некую программу с некими параметрами. Без кавычек будет выдана ошибка. > RunAppAs "Ариэль@USURA.NET" "Himitsu" InitUSURAKernel.EXE Запускает InitUSURAKernel.EXE с учётными данными пользователя Ариэль в домене USRA.NET. > RunAppAs "Ариэль" "" InitUSURAKernel.EXE Запускает туже программу, но с учётными данными пользователя Ариэль на текущей машине и без пароля. Удаление -------- Удалите папку, куда Вы распаковали утилиты. Больше ни чего удалять не придётся. Маленький копирайт ------------------ 1. Программа распространяется бесплатно. 2. Вы имеете право распространять её на тех же условиях. 3. При распространении вы не имеете права менять авторство программы, присваивать его себе или каким-либо иным способом искажать его. 4. Разрешено коммерческое использование программы (в офисе, на производстве) за исключением её платного распространения или сдачи в аренду. 5. Программа распространяется как есть. Автор не несёт ответственности за любые трагедии или несчастные случаи, вызванные использованием программы. 6. Вы имеете право использовать ActiveX компоненты, поставляемые с программой, в собственных программах. При этом автор не гарантирует совместимость будущих версий компонентов. 7. Для любого пункта данного соглашения может быть сделано исключение с разрешения автора программы. 8. По любым вопросам, связанным с данной программой, обращайтесь по адресу lindaoneesama@gmail.com Контакты -------- Почта: lindaoneesama@gmail.com Сайт: https://www.lindachan.net