Назад | Перейти на главную страницу

Процесс автозапуска Windows XP от имени администратора

Я ищу способ, с помощью которого я могу автоматически запустить определенную программу при входе в систему пользователя с правами пользователя с правами администратора.

Я уже пробовал использовать планировщик задач, но это не сработало, потому что вам нужно было ввести имя пользователя в формате машина \ пользователь, а наша система pxe-image-deployment-system автоматически исправляет имена машин, поэтому введенный домен \ пользователь перестал работать.

ОБНОВИТЬ:
Команда runas.exe тоже не подходит для этой задачи. При использовании / user: machinename \ Administrator / savcred он недействителен после создания образа. Один пользователь предложил использовать. \ Administrator или localhost \ Administrator, но оба они не работали на моих машинах XP SP3.


ОБНОВЛЕНИЕ2:
В программе, которую мне нужно выполнить, привыкает эта функция:

    [DllImport("user32.dll")]
    public static extern int ExitWindowsEx(int uFlags, int dwReserved);

при использовании программ, предложенных Аланом Курасом, эта функция не работает, что мне не подходит.

ОБНОВЛЕНИЕ3:
Да! Я думаю, я понял! Похоже, вы не могли использовать ExitWindowsEx при работе в контексте другого пользователя.
Я просто переключил свое приложение на WTSLogoffSession, и теперь оно работает!

Я решил это с помощью альтернативной программы runas, CPAU.

Это обходной метод, но когда мы использовали для создания образов машин с помощью Clonezilla PXE, у нас был командный файл в папке «Startup» XP, который запускался при первом входе в систему. Пакетный файл добавлял 4 или 5 запланированных задач, а затем удалялся.

Вы можете использовать «SCHTASKS / Create», чтобы добавить задачу. вот пример, если вы заинтересованы в использовании этого метода.

SCHTASKS /Create /RU username /RP password /SC hourly /D * /M * /TN taskname /TR C:\folder\process.bat /ST 12:00 /SD 06/20/2012 /F

СЧТАСК / Создать /? предоставит вам справочную информацию.

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

Обычно вам нужно создать программу, которая содержит пароль администратора и может получить указанные права, работая от имени другого пользователя. На ум приходят несколько программ:

Эти программы могут шифровать ваш сценарий, имя пользователя и пароль и автоматически запускаться от имени локального администратора в пользовательской среде.

В качестве альтернативы, если вы знаете какой-либо язык программирования, вы можете написать его для себя. Просто прочтите про олицетворение (например, в C #)

Изменить 2: Второе, что пришло мне в голову. Если у вас возникли проблемы с получением имени компьютера, вы можете попробовать использовать переменную% COMPUTERNAME%, например% COMPUTERNAME% \ Administrator, и проверить, работает ли это.

Легко. Как и в предложении msindle, вы захотите поместить ярлык в папку автозагрузки, но если он должен запускаться от имени администратора, вам придется: а) предоставить учетные данные администратора при первом запуске и б) использовать некоторую команду линейные переключатели. Например, ниже показано, как я запускаю ADUC как администратор домена, в то время как вхожу на свой компьютер как ограниченный пользователь. (Поле «Цель» ярлыка.)

%windir%\system32\runas.exe  /user:domain\adminuser /savcred "mmc %windir%\system32\dsa.msc"

Первый бит вызывает runas.exe, который позволяет вам запускать программу от имени другого пользователя в XP, / user указывает пользователя (если вам нужна локальная учетная запись, используйте имя компьютера вместо имени домена), / savcred позволяет учетные данные, которые будут сохранены (после их однократного ввода), и последний бит - это то, что программа вызывается - консоль управления Microsoft с оснасткой dsa (ADUC).

РЕДАКТИРОВАТЬ:

Я также добился успеха с:

%windir%\system32\runas.exe /user:.\username /savcred "mmc %windir%\system32\dsa.msc"

и:

%windir%\system32\runas.exe /user:localhost\username /savcred "mmc %windir%\system32\dsa.msc"

Но, согласно комментариям ниже, это может быть ненормальным поведением.

Это работает для меня:

в поле назначения ярлыка, который запускает вашу программу, добавьте жирный текст, как показано ниже C: \ WINDOWS \ system32 \ runas.exe / пользователь: Имя пользователя / savcred "путь_программы \ имя_программы.exe"

p.s. также проверьте свой системный путь Windows !!!

Имя пользователя должно быть тем именем пользователя, в котором была установлена ​​программа имя_программы.exe.

Можете ли вы поместить ярлык программы в папку автозагрузки All Users и дать пользователям домена права на каталог установки этой программы? Если это не вариант, попробуйте сделать следующее: http://www.sevenforums.com/tutorials/208799-programs-documents-run-user-logon.html

Это для Win 7, но я предполагаю, что XP имеет такую ​​же функциональность.