Powershell ComboBox不显示项

时间:2015-12-17 17:49:32

标签: powershell

我写了一个powershell cmdlet:

$comp = Get ADOrganizationl Unit -Filter 'Name -like "*Computers*"' FT Name, 'OU=Agencies,DC=state,DC=nv,DC=us -A'

当我尝试使用以下内容填充Powershell Studio 2015 ComboBox时,它会返回PS控制台中的内容:

Load-ComboBox -ComboBox $combobox (Get-ADOrganizationalUnit -Filter 'Name -like "*Computers*"' | FT Name, 'OU=Agencies,DC=state,DC=nv,DC=us -A')

我明白了:

  

Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData      Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData      Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData

重复使用的次数...... 我在这里做错了什么?

由于

1 个答案:

答案 0 :(得分:1)

Load-ComboBox期望字符串或数组对象。

因为您使用的是格式表,所以它会将其翻译为[FormatStartData,FormatEntryData and FormatEndData]对象,虽然它在控制台上非常有用,但出于查看目的,组合框无法读取,当然您可以在| Out-String行的末尾添加$comp,但我认为这不是您要查找的结果...

因此,如果您只需要Name属性,请使用:

$comp = Get-ADOrganizationalUnit -Filter 'Name -like "*Computers*"' | select -ExpandProperty Name
Load-ComboBox $combobox1 -Items $comp

如果您需要' DistinguishedName'用这个:

$comp = Get-ADOrganizationalUnit -Filter 'Name -like "*Computers*"' | select Name, DistinguishedName

foreach ($item in $comp)
{
    Load-ComboBox $combobox1 -Items ("$($item.name),$($item.DistinguishedName)") -Append
}