• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Решено Как снять копии шаблона(дизайна) со списка баз? создать ntf

R

Ruslan280

Подскажите пожалуйста - возникла необходимость снять шаблон с большого количества баз.
хотелось бы автоматизировать процесс.
пытался сделать из ОС батником

FOR %%G IN (d:\lotus\domino\data\baza\*.nsf) DO (
echo %%~nxG
nserver.exe -c "cl copy baza\%%~nxG templates\%%~nG.ntf template"
)

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

кто-нибудь знает правильное решение?
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
тю, открываешь любую базу, достаешь док иконку и затираешь там это поле с название шаблона ;)
 

garrick

Lotus Team
26.10.2009
1 349
151
BIT
176
Сделать копию базы можно с помощью метода CreateCopy, но "назначить" её шаблоном метода нет.
обоих случаях шаблоны создаются через раз. иногда пустые. иногда не все.
Потому, что файлы баз могут быть заблокированы сервером и с консоли OC могут не скопироваться. И к тому же процесс копирования всех элементов базы может занимать продолжительное время, может просто подождать надо пока файл "наполнится"?
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
177
Ну... я генерю ntf так:
Код:
fPath = StrLeftBack(db.Filepath,".")
If InStr(fPath, {\}) Then fPath = StrRightBack(fPath,{\})
 
Set templateDb = db.Createcopy("",fPath & ".ntf")
 
Call templateDb.Grantaccess(ses.Username, 6)
А вот тут целую базы создают для создания списка шаблонов
 
  • Нравится
Реакции: Ruslan280
R

Ruslan280

Ну... я генерю ntf так:
Код:
fPath = StrLeftBack(db.Filepath,".")
If InStr(fPath, {\}) Then fPath = StrRightBack(fPath,{\})
 
Set templateDb = db.Createcopy("",fPath & ".ntf")
 
Call templateDb.Grantaccess(ses.Username, 6)
А вот тут целую базы создают для создания списка шаблонов


спасибо - то что надо

а они, интересно, зашифрованные создаются?
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
177
@garrick, согласен, но у нас служба Design отключена.
Вместо refresh делаем Replace, программно.
А чтобы проставить галку, надо четко понимать что такого храниться в $Flags у иконки базы.
Иконку можно получить так: Set doc = db.GetDocumentByID("FFFF0010")
Для одной моей базы, если она не является шаблоном там значение: J7SF2
А вот если является, то: J7F2
Таким образом надо найти все возможности DBIcon и можно делать почти что угодно...
 
R

Ruslan280

всё отлично работает . отключил шифрование по умолчанию так
File - Security --> User Security --> Notes Data --> Databases --> "Do not locally encrypt"
 
R

Ruslan280

возможно кому-то будет интересно - vbs-скрипт для снятия копий шаблонов с баз в папке
копирует в папку лотус-клиента - data/годмесяцдень

Код:
server="domino/ru"
password=""
folder="papka"
 
Dim s, dir, db,ndb
Set s = CreateObject("Lotus.NotesSession")
Call s.Initialize(password)
Set dir = s.GetDbDirectory(server)
Set db = dir.GetFirstDatabase(1247)
 
dest=DatePart("yyyy",Now)& DatePart("m",Now) & DatePart("d",Now) & "/templates/"
While Not (db Is Nothing)
 
pos=InStr(UCase(db.FilePath),UCase(folder))
If pos=1 Then
 
WScript.Echo db.Title& "  " & db.FilePath
Set ndb=dir.OpenDatabase(db.FilePath)
 
If ndb.isopen Then
Set tdb=ndb.CreateCopy("",dest & db.Filename)
WScript.echo "ok"
Else
ers=ers & " " & db.title
WScript.echo db.title & " !!! error"
End If
 
End If
Set db = dir.GetNextDatabase
 
Wend
 
WScript.Echo "done.  errors: " & ers
 
Последнее редактирование:

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
vbs-скрипт для снятия копий шаблонов
фейерично будет работать на линухах, аиксах, ос390 ;)
почему это не агент, а какой-то виндятский скрипт, да еще вызывает КОМ нотусни...
страшное глюкало будет
 
R

Ruslan280

фейерично будет работать на линухах, аиксах, ос390 ;)
почему это не агент, а какой-то виндятский скрипт, да еще вызывает КОМ нотусни...
страшное глюкало будет

ну да - глючить может. просто возможно кому-то пригодится для примера.
скрипт из агента и сделан. - там разница только в Set s = CreateObject("Lotus.NotesSession").

агент занимает клиента лотус во время работы :(
 
R

Ruslan280

ну так БД создается не "просто-так" :), вполне нормальная ситуация - подождать (или запускать на сервере - если ответ "не нужен")

или запустить скрипт и он всё что нужно сделает в фоне :)
вариантов масса. кому как нравится. я из скрипта этого сделал hta - там можно только несколько баз выбрать и видно прогресс.
удобно
 
Мы в соцсетях:

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