Вход | Регистрация
 
Информационные технологии :: Администрирование

Создать событие Windows из 1С возможно?

Создать событие Windows из 1С возможно?
Я
   Mikhail Volkov
 
24.03.21 - 08:58
Надо создать некое событие Windows из 1С под пользователем ОС без админских прав, чтобы планировщик заданий по нему выполнил некое задание под системной учетной записью ОС. 1С создает события Windows в случае ошибок (других не нашел). Запуск команд SchTasks и EventCreate без административных прав бесполезно. А насчет команды MSG ничего не сказано про админские права. Запускаю ее при завершении работы последнего пользователя 1С. В журнале регистрации 1С вижу ее запуск, а в Просмотре событий Windows ее нет!?
Подскажите, как создать некое событие Windows? В 1С это предусмотрено? Или безвредную команду, которую можно запустить без админских прав?
   Beduin
 
1 - 24.03.21 - 09:00
файлик создавай текстовый
   mistеr
 
2 - 24.03.21 - 09:01
>Запуск команд SchTasks и EventCreate без административных прав бесполезно.

Насчет SchTasks ошибаешься. Нужно привильно настроить права на задание.
   mistеr
 
3 - 24.03.21 - 09:01
(1) +1
   Mikhail Volkov
 
4 - 24.03.21 - 09:08
(1) Какой, подробнее?
(2) Как, ключами в 1С, или планировщике заданий?
   mistеr
 
5 - 24.03.21 - 09:17
(4) В планировщике
   mistеr
 
6 - 24.03.21 - 09:18
(4) С файликом все просто. В задании проверяешь, если файлик есть, делаешь свое дело и файлик удаляешь.
Можно еще содержимое проверять, для надежности.
   Kassern
 
7 - 24.03.21 - 09:28
(6) Ему об этом топик назад советовали, но все равно он хочет через "гланды" вопрос решать. Завтра уже события винды не так интересны будут, захочет к внешнему сервису через планировщик цепляться, если возвращает "just do it", то делает бекап)
   Mikhail Volkov
 
8 - 24.03.21 - 09:34
(5) На какой вкладке планировщика: Триггеры, Действия, Условия, Параметры... Что именно?
   Mikhail Volkov
 
9 - 24.03.21 - 09:51
(6) 1С только файлик создает, когда задание надо выполнить? А проверять его наличие планировщиком по расписанию?
   Mikhail Volkov
 
10 - 24.03.21 - 10:06
(6) Или создание файла создает событие Windows? В каком журнале? Желательно Источник, Код события?
   VladZ
 
11 - 24.03.21 - 10:08
Таки не понял, зачем это.
   arsik
 
12 - 24.03.21 - 10:19
(0) Можно включить аудит объектов и добавить аудит конкретного файла. Тогда в событиях появится запись например события запись конкретного файла. И уже к нему можно планировщик прикрутить.
https://oblako.kz/help/windows/audit-dostpa-k-failam-windows-server
   Mikhail Volkov
 
13 - 24.03.21 - 10:37
(12) Т.е. чтобы создание файла создавало событие Windows (10), надо включить аудит объектов и добавить аудит конкретного файла. 1С лишь будет создавать/удалять этот файл.
   arsik
 
14 - 24.03.21 - 10:43
(13) Есть еще решение попроще.
1) Создаешь задачу в планировщике, которую может выполнить нужный тебе пользователь с ограниченными правами.
2) Основную задачу, с привилегированными правами,  привязываешь к событию выполнения задачи из 1)
   arsik
 
15 - 24.03.21 - 10:44
+ (14) Из под пользователя выполняешь задачу 1) (например PS: "Start-ScheduledTask -TaskName 'qwer'"), выполняется задача 2)
   Mikhail Volkov
 
16 - 24.03.21 - 10:54
(15) Не понял, как из 1С под пользователем с ограниченными правами запустить задачу 1) (например PS: "Start-ScheduledTask -TaskName 'qwer'")?
   mistеr
 
17 - 24.03.21 - 11:15
(9) Да
   arsik
 
18 - 24.03.21 - 11:43
(16) Ты где событие вызвать собрался? В контексте сервера 1с или на клиенте?
   arsik
 
19 - 24.03.21 - 11:57
   arsik
 
20 - 24.03.21 - 12:09
(16) Это вариант schtasks из повершела.
   Mikhail Volkov
 
21 - 24.03.21 - 12:59
(17) По расписанию делается, как контрольное, если сразу не выполнилось. А вот сразу как - вопрос...
(18) При завершении работы последнего пользователя 1С, и закрытия его сеанса RDP. Пробовал запускать bat-файл из 1С, запускается под его учетной записью, но прерывается при завершении сеанса RDP. А в планировщике запускаю тот же bat-файл, но под СИСТЕМА.
(19) Это пример "Запуск задания планировщика после завершения другого задания" - другого задания планировщика или 1С? Если 1С, то почему сразу не запустить основное задание (16)? В чем смысл его двух этапного выполнения?
   arsik
 
22 - 24.03.21 - 13:34
(21) Нафига такой огород городить. Ну привяжись в планировщике к тригеру при отключении от пользовательского сеанса. Проверяй в скрипте, все ли пользователи вышли.
   Turku
 
23 - 24.03.21 - 13:50
(0) КомандаСистемы("schtasks /run /tn task_name");

Предварительно задание должно быть создано в системе. Потом найти это задание в папке "C:\Windows\System32\Tasks" и предоставить нужному пользователю (от которого 1С работает) права на чтение и чтение,выполнение.

У меня таким образом все работает.

Если хотите на сервере пускать, то тогда "ЗапуститьПриложение" используйте.
   Mikhail Volkov
 
24 - 24.03.21 - 14:12
(22) Не все пользователи дисциплинированны, завершают свой сеанс. Есть вообще не выходят из терминала.
Прямого способа проверки не нашел.
(23) На всю папку "C:\Windows\System32\Tasks" предоставить пользователям 1С права на чтение и чтение, выполнение, или только на файл с имеем нужного задания?
   Turku
 
25 - 24.03.21 - 14:33
(24) только на файл.
   Mikhail Volkov
 
26 - 24.03.21 - 16:09
(25) Сделал, о проверить под обычным пользователем пока нет возможности...
(12) Умея 1С перед заданием очищает лог-файл текстовый. Добавил аудит этого файла. Создалось 16 одинаковых событий: Выполнена попытка получения доступа к объекту. Имя журнала: Безопасность, Источник: Microsoft Windows security auditing, Код события: 4663... даже время одно до секунды!? Нельзя удалять/создавать этот файл, только менять.
   mistеr
 
27 - 24.03.21 - 17:16
(26) Не лезь в аудит файловой системы. Потом не вылезешь, поверь. :)
   Mikhail Volkov
 
28 - 26.03.21 - 06:48
(25) Работает под обычным пользователем 1С! Спс.
   Arbuz
 
29 - 31.03.21 - 17:51
(0) На самом деле это возможно.
Создаёте свой журнал либо через New-EventLog мерзкого PowerShell, либо напрямую через не менее мерзкий реестр, например https://winitpro.ru/index.php/2011/08/24/sozdaem-sobstvennyj-zhurnal-sobytij-v-windows. Само собой от админских прав, но это однократная операция.
Далее задаёте права на этот лог, например через wevtutil sl %YOUEVENTLOG% /ca:%SDDL%. Мерзкий SDDL можно посмотреть, например здесь https://habr.com/ru/company/pm/blog/442662.
Далее пишете события от того пользователя которому разрешили на предыдущем шаге, например eventcreate /U %USER% /P %PASSWORD% /T INFORMATION /ID 1 /L %YOUEVENTLOG% /SO "сеанс_1С" /D "Моё супер событие из 1С". Если права дали для текущего пользователя, то имя/пароль можно не указывать.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.