我正在鑽研使用Windows窗體制作GUI的PowerShell,並且我一直在討論非常有用和看起來很快速的PropertyGrid對象,但我不確定它是否喜歡用PowerShell玩非常好。我特別在Active Directory cmdlet中遇到了一些問題。PowerShell中的PropertyGrid不顯示所有屬性
我想在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 *)
的PropertyCount PropertyGrid中上升到我期望的數量,但附加屬性仍然沒有出現。我實際上並不想顯示這個例子中的所有屬性,但是添加特定的屬性似乎也不起作用。有沒有辦法按照我想要的方式進行工作,還是需要尋找替代解決方案?