• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Агент По Расписанию Не Может Сохранить Объект Word

  • Автор темы Sanchel
  • Дата начала
S

Sanchel

Всем привет!
Есть агент по расписанию который, правит вложения (MS Word):
1. детачит вложение на диск (работает)
2. изменяет выгруженный файл (работает)
3. сохраняет файл .saveAs(путь_к_выгруженному_файлу) (не работает: Automation object error)
4. аттачит обратно в документ(из-за предыдущей ошибки до этого не доходит)
Может кто сталкивался?
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
1 - служба домино работает не под админом
2 - нету ворда на сервере
 
S

Sanchel

1 - служба домино работает не под админом
2 - нету ворда на сервере
Ворд на сервере установлен
Служба домино работает под LocalSystem account

Почему тогда позволяет делать ExtractFile из вложения на диск?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
ну вот еще один кандидат на пересмотр своего отношения к КОМе :(
варианты:
-больше не использовать КОМу ворда, использовать POI,
-спросить на сайта МСО любителей - как с этим гагном работать
-не сохранять файл SaveAs в сучность ФС с тем же именем (добавить символы по вкусу)
-изменить УЗ сервера
-тупо делать Save

по факту - КОМа от МСО блокирует файл на перезапись, возможно требует интерактива, коего на сервере нет

Добавлено:
Служба домино работает под LocalSystem account
вот это сильно может мешать всяким КОМам

Добавлено: самый правильный вариант - java (POI... по списку)
 
S

Sanchel

-больше не использовать КОМу ворда, использовать POI,
больше не буду )) но в данном случае отказаться не получится
-не сохранять файл SaveAs в сучность ФС с тем же именем (добавить символы по вкусу)
Пробовал - тоже самое
Пробовал - тоже самое
вот это сильно может мешать всяким КОМам
Есть какие-то предложения?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
S

Sanchel

-изменить УЗ сервера
Что такое УЗ сервера и как его надо изменить?
каковы причины, если не секрет :(
Много логики написано на LS, придется все переписывать.

Просто не понятно: на клиенте все отрабатывает отлично, а на сервере почему не может?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
Много логики написано на LS, придется все переписывать.
пишется рапер (под МСО интерфейсы), код переписывать не нужно (я такое делал для Эхель вызовов).
ЛС->джава бридж никто не отменял - писать можно на ЛС
 
S

Sanchel

пишется рапер (под МСО интерфейсы), код переписывать не нужно (я такое делал для Эхель вызовов).
ЛС->джава бридж никто не отменял - писать можно на ЛС
Есть другой способ? без java
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
Просто не понятно: на клиенте все отрабатывает отлично, а на сервере почему не может?
очевидно - аккаунт "нормальный" и есть интерактив

Добавлено:
Есть другой способ?
не понял вопроса...
код переписывать не нужно будет ваще (почти :( - CreateObject заменить надо будет) просто подключается др. либа (с оберткой)
java и не увидите https://codeby.net/threads/41201.html
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
Вы можете подсказать где что поправить?
я уже предложил - сменить аккаунт запускаемого сервиса домины
За java спасибо, но она мне не подходит.
если прочитали ссылку - не понятно чем?

Добавлено: ЗЫЖ у меня есть стойкое ощущение, что бороться с КОМ вы будете долго и шедульные агенты начнут падать пачками :(
 
S

Sanchel

я уже предложил - сменить аккаунт запускаемого сервиса домины
А на кого лучше заменить? Есть только Local service, Network service и локальный администратор? чем это чревато?
если прочитали ссылку - не понятно чем?
Очень много логики написано именно для КОМ. Возможно некоторые функции (свойства) даже не реализованы в джава классе.

Добавлено:
ЗЫЖ у меня есть стойкое ощущение, что бороться с КОМ вы будете долго и шедульные агенты начнут падать пачками :(
пока проблема только с сохранением
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
А на кого лучше заменить? Есть только Local service, Network service и локальный администратор? чем это чревато?
лучше создать юзера notes, и дать ему права на запись/чтение каталогов, кот. необх. для работы домины и сопутствующих (типа хранилище доков и т.п.)
если планируете сетевые ресурсы юзать - то на файлопомойках д.б. соответ. юзер, с правами (если он не доменный)
доменного юзера ябы не заводил (для домины) - могут быть нюансы

Добавлено:
Очень много логики написано именно для КОМ. Возможно некоторые функции (свойства) даже не реализованы в джава классе.
интересно какие :( ?
базовая работа с заменой и шаблонизацией, в т.ч., уже решена в указанной либе, даже динамические таблицы генерить может
 
S

Sanchel

лучше создать юзера notes, и дать ему права на запись/чтение каталогов, кот. необх. для работы домины и сопутствующих (типа хранилище доков и т.п.)
если планируете сетевые ресурсы юзать - то на файлопомойках д.б. соответ. юзер, с правами (если он не доменный)
доменного юзера ябы не заводил (для домины) - могут быть нюансы

Добавлено: интересно какие :( ?
базовая работа с заменой и шаблонизацией, в т.ч., уже решена в указанной либе, даже динамические таблицы генерить может
Запустил сервис под локальным администратором, но не помогло. Тоже самое: Automation object error
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
ошибка-то какая?
и где код, кот. не пущается?
 
S

Sanchel

ошибка-то какая?
и где код, кот. не пущается?
Set oWord= CreateObject("Word.Application")
oWord.Documents.Add path 'path - путь к файлу на диске
.....' работаю с объектом, затем сохраняю чтобы вложить в RichTextItem документа
Call oWord.ActiveDocument.Save(true) ' тут валится "Automation object error".
'Call oWord.ActiveDocument.SaveAs(path) ' тоже вылится
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
из того что вижу - минимум визибилити не установлен в фалс

Добавлено: надо понимать, что активно дергает отрисовку (из-за чего дико тормозит), если пытаться отрисовать в контексе сервиса, без галочки intaraction with desktop (или как оно там щаз в виндятке) - будет шванец
а если её поставить - то надо логиницо :(
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
собсно от создателя этого глюкодрома

Добавлено:
Interactivity with the desktop: Office applications assume that they are being run under an interactive desktop. In some circumstances, applications may need to be made visible for certain Automation functions to work correctly. If an unexpected error occurs, or if an unspecified parameter is needed to complete a function, Office is designed to prompt the user with a modal dialog box that asks the user what the user wants to do. A modal dialog box on a non-interactive desktop cannot be dismissed. Therefore, that thread stops responding (hangs) indefinitely. Although certain coding practices can help reduce the likelihood of this issue, these practices cannot prevent the issue entirely. This fact alone makes running Office Applications from a server-side environment risky and unsupported.

Добавлено: вероятно есть к-л вокэраунды - но они чреваты падениями и отжорами памяти
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
и вот еще чего я не заметил Set worddoc = word.activedocument 'Get a handle for the active document
а это вполне может
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!