在Powershell列表框中垂直查看项目

时间:2019-05-20 15:30:47

标签: powershell

我有一个脚本,在其中在文本框中输入主机名,然后单击“搜索”按钮,它会分析Active Directory在该范围内可用的名称(基于我输入的内容) 之后,可用的应显示在列表框中。

该函数本身工作正常,但名称在列表框中水平显示,而不是垂直显示。

这是一些代码示例:

##*=======================================================================
##*                     Define Button Click Actions
##*=======================================================================

function ADSearch {

        $Prefix = $InputBox.Text -match '^(.*?)\d*$' | Out-Null
        $Prefix = $Matches[1]

        $Number = 0 # initialize last Number to zero
        Get-ADComputer -Filter * |
        Where-Object {$_.Name -match "^$Prefix(\d+)$" }|
        Select-Object @{n='UsedNumber';e={[int]$Matches[1]}} | Sort-Object UsedNumber |
            ForEach-Object {
                While ($Number +1 -lt $_.UsedNumber){"{0}{1:D4}" -f $Prefix,++$Number}
                $Number = $_.UsedNumber
            }
        # if there was no gap get the next one.
        "{0}{1:D4}" -f $Prefix,++$Number
$SearchButton                                    =      New-Object System.Windows.Forms.Button
$SearchButton.Location                           =      New-Object System.Drawing.Point(05,10)
$SearchButton.Size                               =      New-Object System.Drawing.Size(95,22)
$SearchButton.Text                               =      'Search'
$SearchButton.Add_Click({
    $Hostnames = ADSearch | out-string
    foreach ($Hostname in $Hostnames)
    {   
         [Void] $outputbox.Items.Add($Hostname)
      }
    })
$groupbox1.Controls.Add($SearchButton)

我希望每个主机名都显示在单独的行中

有人可以告诉我我在做什么错吗?

(很抱歉,这是一个愚蠢的问题,我对Powershell还是很陌生)

0 个答案:

没有答案