我有一个脚本,在其中在文本框中输入主机名,然后单击“搜索”按钮,它会分析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还是很陌生)