Проблемы создания древовидного представления в powershell из групп Microsoft Office 365 - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь создать общий инструмент администратора с PowerShell и Visual Studio, чтобы у моего ИТ-отдела было централизованное место для общих задач администратора.Во многих типичных задачах мы задействуем группы и пользователей Office 365, поэтому я пытался создать древовидную структуру, в которой каждая офисная группа будет перечисляться как узел, а затем внутри этих узлов каждый пользователь в группе будет перечисляться как дочерние узлы.У меня проблемы с добавлением этих узлов в древовидную структуру, поскольку $ treeview.nodes.add не работает, но $ treeview.items.add работает.node.add выдает ошибку «Вы не можете вызвать метод с нулевым выражением».

Вся документация, которую я видел в древовидных представлениях, добавляет их в treeview.nodes.add, treeview.items.add добавляет их в древовидное представление, однако это не действует как узел, это просто строка, котораяговорит "Treenode: название группы."Я провел некоторую отладку и знаю, что пользовательские узлы добавляются в группы правильно.Я создал весь графический интерфейс в Visual Studio WPF, так что я не уверен, имеет ли это значение.

$OfficeGroups = Get-MsolGroup | Select Displayname,grouptype | sort 
Displayname

ForEach ($group In $OfficeGroups)
{
    $groupTreenode = New-Object -TypeName System.Windows.Forms.TreeNode
    $groupTreeNode.text = $Group.DisplayName
    $groupTreeNode.Name = $group.displayName
    $WPFOffice365Groupstrv.Items.add($groupTreeNode)

}
        ForEach ($treenode In $WPFOffice365Groupstrv.Items)
        {

            $groupUsers = Get-UnifiedGroupLinks $Treenode.Name -LinkType 
            Member

                 ForEach ($user In $groupUsers)
                    {
                        $usernode = New-Object -TypeName 
System.Windows.Forms.TreeNode
                        $usernode.name = $user.Name
                        $usernode.text = $User.name
                        $treenode.items.add($Usernode)

                }
        }

В идеале я хочу, чтобы представление дерева заполнялось на корневом уровне всеми узлами группы, ив тех, которые я хочу, чтобы каждый член группы был добавлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...