我写了一个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
重复使用的次数...... 我在这里做错了什么?
由于
答案 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
}