CMD/BAT - Планировщик Win от имени другого пользователя

Ответить
 • Просмотры: 3
Аватара пользователя
daledale

CMD/BAT - Планировщик Win от имени другого пользователя

Сообщение daledale »

Доброго. Ситуация. Есть батник, со следующим содержимым, например:



Код:

Код: Выделить всё

notepad
runas /user:user1 /savecred notepad.exe

Закидывается в планировщик, с параметрами запуска: "Выполнять вне зависимости от регистрации пользователя" и далее указывается пользователь с правами администратора + его пароль (пусть будет Admin).

Пароль пользователя user1 - ранее сохранён в системе (/savecred)

1. Собственно запускаем батник вручную из акка Admin - notepad от имени admin и user1 - успешно запускается, т.е. две копии notepad открываются.

2. Вручную запускаем задание в планировщике/тоже самое и при автоматическом запуске - запускается* только notepad с правами текущего пользователя admin, но не запускается с правами user1.

* - не интерактивно, но для моей задачи не критично.

Вопрос, как заставить запускаться приложение от имени другого пользователя ч-з планировщик?

ps Комментарии вида - создай задание в планировщике для запуска приложения от имени нужного пользователя - не вариант, ибо пользователей мб 100500, не создавать же теперь для каждого пользователя отдельное задание.
Аватара пользователя
Sham

Re: CMD/BAT - Планировщик Win от имени другого пользователя

Сообщение Sham »

Есть вариант с локальными политиками. Назначение прав пользователя / вход в качестве пакетного задания. Такое ощущение, что аккаунт user1 должен иметь эти права (должен быть в списке в этой политике).
Аватара пользователя
daledale

Re: CMD/BAT - Планировщик Win от имени другого пользователя

Сообщение daledale »

Спасибо за ответ. Да, разумеется пробовал, причём даже если второй пользователь с правами администратора - всё равно не работает. В общем много чего пересмотрел по вопросу в интернете. В ряде мест описана похожая как у меня ситуация, решения нет. Видимо какая-то особенность работы планировщика win.

Вот похожие вопросы, решения нет.

stackoverflow
,
microsoft
.
Аватара пользователя
Petya V4sechkin

Re: CMD/BAT - Планировщик Win от имени другого пользователя

Сообщение Petya V4sechkin »

daledale, флажок "Выполнить с наивысшими правами" пробовали?
Аватара пользователя
Petya V4sechkin

Re: CMD/BAT - Планировщик Win от имени другого пользователя

Сообщение Petya V4sechkin »

Цитата Petya V4sechkin:



Код ошибки пишет в Планировщике? По идее, runas должен код ошибки возвращать.
CMD/BAT - Планировщик Win от имени другого пользователя




1. Что касается кода ошибки runas - тут такая взаимоисключающая штука. Чтобы написать какую-либо ошибку, этот runas должен запуститься. Но он не запускается, вообще.

2. Журнал событий Windows же, под спойлером. Хронология -снизу вверх.



Скрытый текст

[spoiler]Ключевые слова Дата и время Источник Код события Категория задачи

***********************

Аудит успеха 03.04.2025 15:32:13 Microsoft-Windows-Security-Auditing 4634 Выход из системы "Выполнен выход учетной записи из системы.



Субъект:

ИД безопасности: WINDOWS-PC\User1

Имя учетной записи: User1

Домен учетной записи: WINDOWS-PC

Код входа: 0x104e5d



Тип входа: 2



Данное событие возникает при уничтожении сеанса входа. Его можно однозначно связать с событием входа с помощью значения ""Код входа"". Коды входа остаются уникальными после перезагрузки, но они уникальны только на одном компьютере."

***********************

Аудит успеха 03.04.2025 15:32:13 Microsoft-Windows-Security-Auditing 4624 Вход в систему "Вход с учетной записью выполнен успешно.



Субъект:

ИД безопасности: WINDOWS-PC\Admin

Имя учетной записи: Admin

Домен учетной записи: WINDOWS-PC

Код входа: 0x93c80



Тип входа: 2



Новый вход:

ИД безопасности: WINDOWS-PC\User1

Имя учетной записи: User1

Домен учетной записи: WINDOWS-PC

Код входа: 0x104e5d

GUID входа: {00000000-0000-0000-0000-000000000000}



Сведения о процессе:

Идентификатор процесса: 0x388

Имя процесса: C:\Windows\System32\svchost.exe



Сведения о сети:

Имя рабочей станции: WINDOWS-PC

Сетевой адрес источника: ::1

Порт источника: 0



Сведения о проверке подлинности:

Процесс входа: seclogo

Пакет проверки подлинности: Negotiate

Промежуточные службы: -

Имя пакета (только NTLM): -

Длина ключа: 0



Данное событие возникает при создании сеанса входа. Оно создается в системе, вход в которую выполнен.



Поля ""Субъект"" указывают на учетную запись локальной системы, запросившую вход. Обычно это служба, например, служба ""Сервер"", или локальный процесс, такой как Winlogon.exe или Services.exe.



В поле ""Тип входа"" указан тип выполненного входа. Самыми распространенными являются типы 2 (интерактивный) и 3 (сетевой).



Поля ""Новый вход"" указывают на учетную запись, для которой создан новый сеанс входа, то есть на учетную запись, с которой выполнен вход.



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



Поля сведений о проверке подлинности содержат подробные данные о конкретном запросе на вход.

- GUID входа - это уникальный идентификатор, который позволяет сопоставить данное событие с событием KDC.

- В поле ""Промежуточные службы"" указано, какие промежуточные службы участвовали в данном запросе на вход.

- Поле ""Имя пакета"" указывает на подпротокол, использованный с протоколами NTLM.

- Поле ""Длина ключа"" содержит длину созданного ключа сеанса. Это поле может иметь значение ""0"", если ключ сеанса не запрашивался."

***********************

Аудит успеха 03.04.2025 15:32:13 Microsoft-Windows-Security-Auditing 4648 Вход в систему "Выполнена попытка входа в систему с явным указанием учетных данных.



Субъект:

ИД безопасности: WINDOWS-PC\Admin

Имя учетной записи: Admin

Домен учетной записи: WINDOWS-PC

Код входа: 0x93c80

GUID входа: {00000000-0000-0000-0000-000000000000}



Были использованы учетные данные следующей учетной записи:

Имя учетной записи: User1

Домен учетной записи: WINDOWS-PC

GUID входа: {00000000-0000-0000-0000-000000000000}



Целевой сервер:

Имя целевого сервера: localhost

Дополнительные сведения: localhost



Сведения о процессе:

Идентификатор процесса: 0x388

Имя процесса: C:\Windows\System32\svchost.exe



Сведения о сети:

Сетевой адрес: ::1

Порт: 0



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

***********************

Аудит успеха 03.04.2025 15:32:13 Microsoft-Windows-Security-Auditing 4776 Проверка учетных данных "Компьютер попытался проверить учетные данные учетной записи.



Пакет проверки подлинности: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0

Учетная запись входа: User1

Исходная рабочая станция: WINDOWS-PC

Код ошибки: 0x0"[/spoiler]




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

Re: CMD/BAT - Планировщик Win от имени другого пользователя

Сообщение daledale »

а если убрать "/savecred" - остановится с запросом пароля? А если сделать через "cmd /c" ?
Аватара пользователя
ShaddyR

Re: CMD/BAT - Планировщик Win от имени другого пользователя

Сообщение ShaddyR »

а если убрать "/savecred" - остановится с запросом пароля? А если сделать через "cmd /c" ?
Аватара пользователя
Sham

Re: CMD/BAT - Планировщик Win от имени другого пользователя

Сообщение Sham »

runas интерактивная, и /savecred не гарантирует отсутствие запроса пароля. Лучше запускать от какой-нибудь группы без runas.
Аватара пользователя
Sham

Re: CMD/BAT - Планировщик Win от имени другого пользователя

Сообщение Sham »

Та же самая штука с программой cpau, кто в курсе.

Интересный факт - проблема происходит, если в планировщике стоит галка "Выполнять вне зависимости от регистрации пользователя".

Если же поставить на верхний пункт "Выполнять от имени текущего пользователя" - всё отлично.

Но мне нужен именно вариант "Выполнять вне зависимости от регистрации пользователя", т.к. только с ним возможно выполнение планировщика без входа в систему.



Скрытый текст

[spoiler]Кто успел увидеть моё предыдущее сообщение, цитата:

"Короче я, похоже, тупанул. Висит cmd процесс в диспетчере задач, точнее после старта вручную задачи в планировщике появляется в диспетчере задач notepad+cmd, оба от имени admin запущены. И т.к., повторяюсь, задача запускается не интерактивно, ГУЮ я не вижу, но скорее всего там висит запрос пароля. Странно, конечно, ведь в акке admin пароль для user1 через /savecred при предыдущем запуске уже сохранён и при ручном старте батника пароль не запрашивается. Но в планировщике при запуске с пользователем admin, похоже что, запрашивается."

----

Я его удалил. Поясню.

Начал разбираться, выяснил. cmd - это родительский процесс notepad, который был запущен от имени admin. Грохнул в процессах notepad (аналогично тому что закрыл его) - удалился и cmd

Более того, оставил в батнике только один runas и запустил. Ни cmd, ни notepad в диспетчере задач не появились.

Короче от имени user1 нет запуска вообще.[/spoiler]
Аватара пользователя
Sham

Re: CMD/BAT - Планировщик Win от имени другого пользователя

Сообщение Sham »

Цитата Sham:



psexec например позволяет и пароль указать psexec -u user1 -p pass notepad
CMD/BAT - Планировщик Win от имени другого пользователя




cpau - тоже самое. В общем всё равно попробовал psexec. При ручном запуске батника работает, в планировщике - нет. Прям игнорируется строка запуска от имени другого пользователя и всё тут.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»