2013-06-03 2 views
0

Я вникаю в создание графического интерфейса с PowerShell с использованием Windows Forms, и я возился с очень полезным и быстро выглядящим объектом PropertyGrid, но я не уверен, что ему нравится играть очень приятно с PowerShell. У меня особенно проблемы с командлетами Active Directory.PropertyGrid в PowerShell не отображает все свойства

Я хотел бы показать объект пользователя AD в PropertyGrid. Для тестирования я создал эту простую функцию:

Function Show-Object 
{ 
    $Form = New-Object "System.Windows.Forms.Form" 
    $Form.Size = New-Object System.Drawing.Size @(600,600) 
    $PropertyGrid = New-Object "System.Windows.Forms.PropertyGrid" 
    $PropertyGrid.Dock = [System.Windows.Forms.DockStyle]::Fill 
    $Form.Text = "$args" 
    $PropertyGrid.SelectedObject = $args[0] 
    $Form.Controls.Add($PropertyGrid) 
    $Form.TopMost = $true 
    $Form.ShowDialog() 
} 

Я затем запустить

PS> Show-Object (Get-ADUser Testing) 

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

PS> Show-Object (Get-ADUser Testing -Properties *) 

в PropertyCount в результате PropertyGrid идет к числу я бы ожидать, но дополнительные свойства до сих пор не появляются. Я действительно не хочу отображать все свойства, как в этом примере, но добавление определенных свойств тоже не работает. Есть ли способ сделать эту работу так, как мне хотелось бы, или мне нужно искать альтернативное решение?

ответ

0

Не уверен, что вы планируете использовать с Show-Object, но Lonely Administrator сделал довольно приятную функцию, которая делает то же самое, что и ваш Show-Object. Это называется Out-GridList. Возможно, если вы увидите, как работает этот скрипт, вы сможете исправить свой сценарий. Так, например, я просто скопировал функцию Out-GridList на тестовый скрипт и вызвал функцию в том же скрипте.

function Out-GridList { 
... 
} 
Get-ADUser Testing -Properties * | Out-GridList 

Output from Out-GridList

Смежные вопросы