Private/CmdletHelp/_PopulateCmdletDataGrid.ps1
function _PopulateCmdletDataGrid { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [string] $Repository ) $Modules = Get-InstalledModule | Where-Object Repository -EQ $Repository $Headers = [ordered]@{ 'Name' = [string] 'ModuleName' = [string] 'Version' = [version] } $Object = @() foreach ($Module in $Modules) { $Cmdlets = Get-Command -Module $Module.Name $Object += $Cmdlets } $Script:CmdletDataTable = New-Object System.Data.DataTable foreach ($Header in $Headers.GetEnumerator()) { $CmdletDataTable.Columns.Add($Header.Key, $Header.Value) } foreach ($Item in $Object) { $Array = @() Foreach ($Header in $Headers.GetEnumerator()) { switch ($Header.Value) { 'string' { $array += [string]$Item.$($Header.Key) } 'int' { $array += [int]$Item.$($Header.Key) } 'version' { $array += [version]$Item.$($Header.Key) } } } [void]$CmdletDataTable.Rows.Add($array) } $CmdletHelp_CmdletDataGrid.ItemsSource = $CmdletDataTable.DefaultView } |