Я пытаюсь создать графический интерфейс, который в конечном итоге позволит нашей команде второй линии легко применить поиск учетных записей AD.Я дошел до сих пор, но не могу заставить PowerShell найти значение, введенное в текстовое поле, чтобы затем оценить, существует ли пользователь в AD.
Вот сценарий:
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Application]::EnableVisualStyles()
$Form = New-Object System.Windows.Forms.Form
$Form.ClientSize = '400,400'
$Form.Text = "Add DXE Mailbox Permissions"
$Form.TopMost = $false
$Label1 = New-Object System.Windows.Forms.Label
$Label1.Text = "Username"
$Label1.AutoSize = $true
$Label1.Width = 25
$Label1.Height = 10
$Label1.Location = New-Object System.Drawing.Point(15, 145)
$Label1.Font = 'Microsoft Sans Serif,10'
$TextBox1 = New-Object System.Windows.Forms.TextBox
$TextBox1.Multiline = $false
$TextBox1.Width = 168
$TextBox1.Height = 20
$TextBox1.Location = New-Object System.Drawing.Point(15, 165)
$TextBox1.Font = 'Microsoft Sans Serif,10'
$Button1 = New-Object System.Windows.Forms.Button
$Button1.Text = "Check Username"
$Button1.Width = 120
$Button1.Height = 30
$Button1.Location = New-Object System.Drawing.Point(199, 162)
$Button1.Font = 'Microsoft Sans Serif,10'
$Button1.Add_Click($Button1_Click)
$Form.Controls.AddRange(@($Label1, $TextBox1, $Button1))
$Button1_Click = {
$username = $Label1.Text
$Checkuser = Get-ADUser -Identity $username
if ($Checkuser -eq $null) {
$Button1.Text = "Can't Find User"
$button1.ForeColor = "Red"
} elseif ($Checkuser -ne $null) {
$Button1.Text = "Found User"
}
}
[void]$Form.ShowDialog()
Я считаю, что проблема, которую я имею, связана с линией $username = $Label1.Text
.Я не уверен, следует ли присваивать переменной $Label1.Text
, и если да, то как мне заставить PowerShell извлечь введенный текст?Я быстро огляделся и надеюсь, что есть способ сделать это, не открывая и не закрывая другое окно.