【发布时间】:2017-05-02 10:22:59
【问题描述】:
我正在 Powershell 中创建一个新的用户创建表单。我正在使用 ComboBox,以便表单的用户可以从列表中选择新用户的直线经理。管理员列表是从 Active Directory 中的安全组中提取的。成员很多,因此加载需要几秒钟,并且每次打开 ComboBox 时都会出现这种延迟。我的代码如下:
function Load-ComboBox-Managers
{
$MgrComboBox.Items.Clear()
$MgrArray = Get-ADGroupMember -Identity "All Managers" |
Select-Object Name
ForEach ($item in $MgrArray) {
$MgrComboBox.Items.Add($item.Name)}
}
我的问题是,是否可以仅在第一次下拉 ComboBox 时运行该函数,然后将该列表存储在某处并在以后每次打开 ComboBox 时引用该存储的列表,而不是查询 AD每次?
非常感谢任何帮助。
【问题讨论】:
-
我猜真正的问题在于组合框的点击事件。你怎么称呼
function Load-ComboBox-Managers? -
我正在使用 Add_Click 方法:
$MgrComboBox.Add_Click({ Load-ComboBox-Managers })
标签: forms winforms powershell combobox active-directory