私は、Windows フォームを使用して PowerShell で GUI を作成することを検討しています。非常に便利で見栄えの良い PropertyGrid オブジェクトをいじっていますが、PowerShell でうまく機能するかどうかはわかりません。特に、Active Directory コマンドレットに問題があります。
PropertyGrid に AD ユーザー オブジェクトを表示したいと思います。テスト目的で、この単純な関数を作成しました。
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 *)
結果の PropertyGrid の PropertyCount は期待した数まで上がりますが、追加のプロパティはまだ表示されません。実際には、この例のようにすべてのプロパティを表示したくはありませんが、特定のプロパティを追加してもうまくいかないようです。これを希望どおりに動作させる方法はありますか、それとも別の解決策を探す必要がありますか?