尽量不使用 Out-GridView

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

我调用

GetADUser
,它只是返回一个 OU 中所有用户的 Sam 帐户名称。

我试图在系统 Windows 窗体消息框中显示它们,但它不起作用。

我知道我很接近,但我脑子放屁了。有更好的方法吗?同样,我非常努力地避免使用

Out-GridView
。我很想拥有这样的东西:

UserTest1
UserTest2
UserTest3

我尝试了几次谷歌搜索,但它们并不是我真正想要做的。任何帮助,将不胜感激 谢谢

powershell winforms messagebox
1个回答
0
投票

如果你真的想为此使用 WinForms 消息框

Add-Type -AssemblyName System.Windows.Forms

# Create 20 sample user names.
# In your real code, use:
#   $users = (Get-ADUser -filter * -Searchbase $OU).SamAccountName
$users = 1..20 | ForEach-Object { "user" + $_ }

# Display a message box with each username on its own line.
[Windows.Forms.MessageBox]::Show(
  $users -join "`n",
  'Title',       # window title
  'OKCancel',    # buttons
  'Information'  # icon
)

请注意,这仅适用于有限数量的用户名,即一次屏幕上显示的用户名数量,不包括显示标题栏和按钮所需的空间。
如果太多,不是所有的都可见,按钮也不会显示。

为了避免这个问题,您需要创建一个带有(可滚动)列表框的自定义表单。

© www.soinside.com 2019 - 2024. All rights reserved.