ShortName: String;
ShortName: System.String;
Свойство ShortName определяет короткий идентификатор доменного пользователя Oracle.
Идентификатор имеет вид: UYYYYMMDDhhmmsslllrrrrrrrrrr. Где: U - префикс, YYYY - год, MM - месяц, DD - день, hh - часы, mm - минуты, ss - секунды, lll - миллисекунды, rrrrrrrrrr - случайное число.
Для выполнения примера убедитесь, что в менеджере безопасности содержится пользователь USER.
Добавьте ссылки на системные сборки: Metabase, ForeSystem (для примера на Fore.NET).
Sub UserProc;
Var
MB: IMetabase;
MBSec: IMetabaseSecurity;
SubSearch: ISecuritySubjectsSearch;
Subjects: ISecuritySubjects;
Subject, AddedSubject: ISecuritySubject;
Date: String;
Lic: Object;
Begin
MB := MetabaseClass.Active;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
MBSec := MB.Security;
// Зададим объект для поиска доменных пользователей
SubSearch := MBSec.NewSubjectsSearch;
SubSearch.NameCriteria := "FS\BS*";
SubSearch.AreaIncludeDB := False;
SubSearch.AreaIncludeNT := True;
SubSearch.SubjectCriteria(SecuritySubjectType.User) := True;
SubSearch.ExecuteSearch;
// Получим найденных пользователей
Subjects := SubSearch.Subjects;
// Получим текущую дату
Date := DateTime.Now.ToString;
// Добавим пользователя
For Each Subject In Subjects Do
AddedSubject := MBSec.AddNTSubject(Subject);
// Присвоим короткое имя из переменной Date и случайное число
(AddedSubject As IMetabaseUser).ShortName := Date + "1234567891";
End For;
// Сохраним изменения
MBSec.Apply;
// Освободим лицензию
Lic := Null;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.ForeSystem;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MBSec: IMetabaseSecurity;
SubSearch: ISecuritySubjectsSearch;
Subjects: ISecuritySubjects;
Subject, AddedSubject: ISecuritySubject;
Date: String;
Lic: Object;
Begin
MB := Self.Metabase;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.lftAdm);
MBSec := MB.Security;
// Зададим объект для поиска доменных пользователей
SubSearch := MBSec.NewSubjectsSearch();
SubSearch.NameCriteria := "FS\BS*";
SubSearch.AreaIncludeDB := False;
SubSearch.AreaIncludeNT := True;
SubSearch.SubjectCriteria[SecuritySubjectType.sstUser] := True;
SubSearch.ExecuteSearch();
// Получим найденных пользователей
Subjects := SubSearch.Subjects;
// Получим текущую дату
Date := DateTime.Now.ToString();
// Добавим пользователя
For Each Subject In Subjects Do
// Присвоим короткое имя из переменной Date и случайное число
AddedSubject := MBSec.AddNTSubject(Subject);
(AddedSubject As IMetabaseUser).ShortName := Date + "1234567891";
End For;
// Сохраним изменения
MBSec.Apply();
// Освободим лицензию
Lic := Null;
End Sub;
После выполнения примера будет осуществлен поиск всех доменных пользователей, наименование которых удовлетворяет маске «FS\BS*». Найденные пользователи будут добавлены в список пользователей репозитория, которым будет присвоено короткое имя.
См. также: