@mdkolpakov

Как преобразовать объект Get-Acl?

Здравствуйте!
Программа создаёт GUI файловых каталогов в виде дерева. После открытия конечного каталога хочу поместить внутрь все группы безопасности, что могут зайти в каталог. Хочу сделать это с помощью такого кода:

Foreach ($i1 in $otdelFolders)
{
$TreeViewNode2 = $TreeViewNode1.Nodes.Add($i1)
$otdel1 = $otdel + '\' + $i1
$fold = Get-Acl $otdel1
$fold = $fold.Access.IdentityReference
$TreeViewNode3 = $TreeViewNode2.Nodes.Add($fold)
}

Ошибка из-за разных форматов.
Не удается преобразовать аргумент "node", со значением: "System.Object[]", для "Add" в тип "System.Windows.Forms.TreeNode": "Не удается преобразовать значение "System.Object[]" типа "System.Object[]" в тип "System.Windows.F
orms.TreeNode"."

Подскажите пожалуйста, как преобразовать объект, который получается в результате Get-Acl в строку или подходящий для node формат?

UPD: хотел бы видеть запрос несколькими нодами

Заранее благодарю!
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
@NortheR73
системный инженер
Get-Acl возвращает вам, по сути, набор строк. Перебираете этот набор с помощью Foreach и добавляете каждую строку как node нужного уровня в TreeView:
PS C:\windows\system32> (Get-Acl c:\!New).Access.IdentityReference.Value
BUILTIN\Администраторы
NT AUTHORITY\СИСТЕМА
BUILTIN\Пользователи
NT AUTHORITY\Прошедшие проверку
NT AUTHORITY\Прошедшие проверку
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы