0

私は、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 は期待した数まで上がりますが、追加のプロパティはまだ表示されません。実際には、この例のようにすべてのプロパティを表示したくはありませんが、特定のプロパティを追加してもうまくいかないようです。これを希望どおりに動作させる方法はありますか、それとも別の解決策を探す必要がありますか?

4

1 に答える 1

0

あなたが何を計画しているのかわかりませんShow-Objectが、Lonely Administratorは、あなたと同じことを行う非常に優れた関数を作成しましたShow-ObjectOut-GridListと呼ばれます。そのスクリプトがどのように機能するかがわかれば、スクリプトを修正できるかもしれません。たとえば、Out-GridList関数をテスト スクリプトにコピーし、同じスクリプトで関数を呼び出しました。

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

Out-GridList からの出力

于 2013-06-03T22:51:05.230 に答える