![]() |
Планировщик Win от имени другого пользователя
Доброго. Ситуация. Есть батник, со следующим содержимым, например:
Код:
notepad Пароль пользователя user1 - ранее сохранён в системе (/savecred) 1. Собственно запускаем батник вручную из акка Admin - notepad от имени admin и user1 - успешно запускается, т.е. две копии notepad открываются. 2. Вручную запускаем задание в планировщике/тоже самое и при автоматическом запуске - запускается* только notepad с правами текущего пользователя admin, но не запускается с правами user1. * - не интерактивно, но для моей задачи не критично. Вопрос, как заставить запускаться приложение от имени другого пользователя ч-з планировщик? ps Комментарии вида - создай задание в планировщике для запуска приложения от имени нужного пользователя - не вариант, ибо пользователей мб 100500, не создавать же теперь для каждого пользователя отдельное задание. |
daledale, флажок "Выполнить с наивысшими правами" пробовали?
|
Спасибо за ответ. Да, разумеется пробовал, причём даже если второй пользователь с правами администратора - всё равно не работает. В общем много чего пересмотрел по вопросу в интернете. В ряде мест описана похожая как у меня ситуация, решения нет. Видимо какая-то особенность работы планировщика win.
Вот похожие вопросы, решения нет. stackoverflow, microsoft. |
Цитата:
|
Цитата:
2. Журнал событий Windows же, под спойлером. Хронология -снизу вверх. Скрытый текст
Ключевые слова Дата и время Источник Код события Категория задачи
*********************** Аудит успеха 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" Есть предположение, т.к. действо происходит не интерактивно - несмотря на то, что при обычном запуске сохраненный ранее пароль с ключом /savecred - успешно извлекается и вводится автоматически, то при запуске ч-з планировщик, пароль не извлекается, а запрашивается, только окно мы это не видим. Хотя, теория такая себе, ибо в диспетчере задач процесс cmd не висит. |
а если убрать "/savecred" - остановится с запросом пароля? А если сделать через "cmd /c" ?
|
runas интерактивная, и /savecred не гарантирует отсутствие запроса пароля. Лучше запускать от какой-нибудь группы без runas.
|
Та же самая штука с программой cpau, кто в курсе.
Интересный факт - проблема происходит, если в планировщике стоит галка "Выполнять вне зависимости от регистрации пользователя". Если же поставить на верхний пункт "Выполнять от имени текущего пользователя" - всё отлично. Но мне нужен именно вариант "Выполнять вне зависимости от регистрации пользователя", т.к. только с ним возможно выполнение планировщика без входа в систему. Скрытый текст
Кто успел увидеть моё предыдущее сообщение, цитата: "Короче я, похоже, тупанул. Висит cmd процесс в диспетчере задач, точнее после старта вручную задачи в планировщике появляется в диспетчере задач notepad+cmd, оба от имени admin запущены. И т.к., повторяюсь, задача запускается не интерактивно, ГУЮ я не вижу, но скорее всего там висит запрос пароля. Странно, конечно, ведь в акке admin пароль для user1 через /savecred при предыдущем запуске уже сохранён и при ручном старте батника пароль не запрашивается. Но в планировщике при запуске с пользователем admin, похоже что, запрашивается." ---- Я его удалил. Поясню. Начал разбираться, выяснил. cmd - это родительский процесс notepad, который был запущен от имени admin. Грохнул в процессах notepad (аналогично тому что закрыл его) - удалился и cmd Более того, оставил в батнике только один runas и запустил. Ни cmd, ни notepad в диспетчере задач не появились. Короче от имени user1 нет запуска вообще. |
psexec например позволяет и пароль указать psexec -u user1 -p pass notepad
|
Цитата:
|
Есть вариант с локальными политиками. Назначение прав пользователя / вход в качестве пакетного задания. Такое ощущение, что аккаунт user1 должен иметь эти права (должен быть в списке в этой политике).
|
Цитата:
|
Можно попробовать создать задачу в планировщике от User1 и запускать её schtasks /run /tn "имя". Служба seclogon (вторичный вход) по-умолчанию вручную стоит, можно на автомат поставить. Скорее всего в режиме без регистрации есть ограничения на вторичные логоны.
|
Цитата:
Цитата:
ps Мне интересно, а как реализуется схема применения политик для такого случая, в т.ч. запуска приложений и батников в домене для множества пользователей администратором домена/в домене? Может с этой стороны зайти? Только у меня не домен. |
schtasks /create /np и /delete (создал, запустил, удалил или флаг /z при создании)
Цитата:
|
Цитата:
В целом я остановился на том, что всё таки создал задачи под каждого пользователя, у меня их 4, не считая admin. Да, это костыль, но других вариантов для своей ситуации не нашёл. Можно, конечно, сделать автологон и запускать задачу от имени текущего пользователя, в т.ч. с runas батниками внутри - всё работает в таком случае, но это дыра дырявая в плане безопасности и не вариант. Можно ещё поиграться со сторонним софтом - сторонними шедуллерами, которые работают, как служба, например, и запускать батники через них до логона. Возможно взлетит, не пробовал. |
Время: 00:03. |
Время: 00:03.
© OSzone.net 2001-