Name: String;
Name: String;
Свойство Name возвращает имя субъекта безопасности.
Для выполнения примера добавьте ссылки на системные сборки «Metabase» и «Stat». В примере используется файл обновления, который расположен в "D:\".
Sub Main;
Var
Mb: IMetabase;
Upd: IMetabaseUpdate;
RootFolder: IMetabaseUpdateFolderNode;
subj: IMetabaseUpdateAccessSubject;
subjs: IMetabaseUpdateAccessSubjects;
se: IMetabaseSecurity;
Begin
Mb := MetabaseClass.Active;
Upd := Mb.CreateUpdate;
Upd.LoadFromFileNF("D:\Update.pefx");
Upd.AllowReplaceSD := True;
RootFolder := Upd.RootFolder;
subjs := Upd.Subjects;
debug.WriteLine("Количество субъектов безопасности учавствующих в обновлении прав доступа: ");
se := Mb.Security;
For Each subj In subjs Do
debug.WriteLine(subj.Name);
debug.WriteLine(subj.Description);
debug.WriteLine(subj.Sid.AsString);
End For;
End Sub Main;
После выполнения примера в окне консоли появится информация о всех субъектах безопасности, которым будут обновлены права доступа к объектам.
Для выполнения примера добавьте ссылки на системные сборки «Metabase» и «Stat». В примере используется файл обновления, который расположен в "D:\".
Sub UserProc(Params: StartParams);
Var
Mb: IMetabase;
Upd: IMetabaseUpdate;
RootFolder: IMetabaseUpdateFolderNode;
subj: IMetabaseUpdateAccessSubject;
subjs: IMetabaseUpdateAccessSubjects;
se: IMetabaseSecurity;
Begin
Mb := Params.Metabase;
Upd := Mb.CreateUpdate();
Upd.LoadFromFileNF("D:\"+ "Update.pefx", UpdateLoadMode.ulmReplace);
Upd.AllowReplaceSD := True;
RootFolder := Upd.RootFolder;
subjs := Upd.Subjects;
System.Diagnostics.Debug.WriteLine("Количество субъектов безопасности учавствующих в обновлении прав доступа: ");
se := Mb.Security;
For Each subj In subjs Do
System.Diagnostics.Debug.WriteLine(subj.Name);
System.Diagnostics.Debug.WriteLine(subj.Description);
System.Diagnostics.Debug.WriteLine(subj.Sid.AsString);
End For;
End Sub;
После выполнения примера в окне консоли появится информация о всех субъектах безопасности, которым будут обновлены права доступа к объектам.
См. также: