PowerShell - 使用下拉列表中的选择填充我的列表框

问题描述 投票:0回答:0

我正在尝试通过 Active Directory 为管理员流水线化数据,从而在 PowerShell ISE 上制作应用程序部署工具。由于 Active Directory 没有模糊搜索功能,我想我会创建一个 GUI 应用程序来帮助管理员搜索、添加和部署应用程序。我决定使用下拉列表 (ddl) 来显示可用的应用程序,因为 ddl 也提供文本输入。然后,无论从 ddl 中选择什么应用程序,它都应该添加到下面的列表框中。该列表框具有多选选项,用户可以在其中多选和删除所选项目。不幸的是,我被困在一个地方,我试图通过下拉列表中的选择来填充我的列表框。

因为从 AD 中提取数据并不是一个困难的部分,但是将选定的数据从 ddl 传递到列表框并没有发生。我尝试使用 .Add_click 将信息传递到列表框。所选应用程序既没有通过,也无法在该列表框中进行任何选择。我将提供我的代码片段。我


#Selected App Name

$StdAppName = New-Object $Labelobject
$StdAppName.Text= 'Text'
$StdAppName.AutoSize=$true
$StdAppName.Location=New-Object System.Drawing.Point (225,262)

 
#Drop Down List
function Load-Combobox-Apps
{
    $appddl.Items.Clear()
    
    $apparray = Get-ADGroup -Filter {name -like "AP_SCCM_FBC_*"} | Select-Object Name, @{Name= 'Appname' ; Expression = {$_.Name -split 'AP_SCCM_FBC_' -join ''}} 
   
#searching for appname 
    ForEach ($Item in $apparray)
    {
        $appddl.Items.Add($item.Appname)
        $appddl.AutoCompleteSource = 'listItems'
        $appddl.AutoCompleteMode = 'Suggest' #
      
    }
}

function GetApplicationDetails
{

    $ApplistBox = New-Object System.Windows.Forms.ListBox
    $ApplistBox.Location = New-Object System.Drawing.Point(222,257)
    $ApplistBox.width = 480
    $ApplistBox.SelectionMode = 'MultiExtended'
    $ApplistBox.Height = 300

#alternate method
  #  $AppName=$appddl.SelectedItem
  #  $details= Get-ADGroup $AppName | select *
  #  $StdAppName.Text=$details.name

    $ApplistBox.Add_Click{
    $SelectedItems | ForEach-Object {$ApplistBox.Items.Add($_appddl.Appname)}
        return $SelectedItems
}

    #$FormObject.Controls.Add($appddl)

    $AppForm.Controls.Add($ApplistBox)

    $AppForm.Add_Shown({ApplistBox.Select})

} 
powershell active-directory logic pipeline powershell-ise
© www.soinside.com 2019 - 2024. All rights reserved.