# === Onglet UTILISATEURS ===

# Label environnement
$labelEnvUser = New-Object System.Windows.Forms.Label
$labelEnvUser.Text = “Veuillez sélectionner l’environnement utilisateur :”
$labelEnvUser.Location = New-Object System.Drawing.Point(20,20)
$labelEnvUser.Size = New-Object System.Drawing.Size(300,20)
$tabPage3.Controls.Add($labelEnvUser)

# Checkboxes Environnement
$checkboxAD_U = New-Object System.Windows.Forms.CheckBox
$checkboxAD_U.Text = “AD”
$checkboxAD_U.Location = New-Object System.Drawing.Point(20,40)
$checkboxAD_U.Size = New-Object System.Drawing.Size(100,20)
$tabPage3.Controls.Add($checkboxAD_U)

$checkboxADLDS_U = New-Object System.Windows.Forms.CheckBox
$checkboxADLDS_U.Text = “ADLDS”
$checkboxADLDS_U.Location = New-Object System.Drawing.Point(20,60)
$checkboxADLDS_U.Size = New-Object System.Drawing.Size(100,20)
$tabPage3.Controls.Add($checkboxADLDS_U)

$checkboxAZURE_U = New-Object System.Windows.Forms.CheckBox
$checkboxAZURE_U.Text = “AZURE”
$checkboxAZURE_U.Location = New-Object System.Drawing.Point(20,80)
$checkboxAZURE_U.Size = New-Object System.Drawing.Size(100,20)
$tabPage3.Controls.Add($checkboxAZURE_U)

$checkboxSYNC_U = New-Object System.Windows.Forms.CheckBox
$checkboxSYNC_U.Text = “SYNCHRO”
$checkboxSYNC_U.Location = New-Object System.Drawing.Point(20,100)
$checkboxSYNC_U.Size = New-Object System.Drawing.Size(100,20)
$tabPage3.Controls.Add($checkboxSYNC_U)

# Un seul environnement sélectionnable
$envCheckboxes = @($checkboxAD_U, $checkboxADLDS_U, $checkboxAZURE_U, $checkboxSYNC_U)
foreach ($chk in $envCheckboxes) {
$chk.Add_Click({
foreach ($c in $envCheckboxes) {
if ($c -ne $this) { $c.Checked = $false }
}
$labelActionUser.Visible = $true
$checkUserCreate.Visible = $true
$checkUserModif.Visible = $true
$checkUserSuppr.Visible = $true
$checkUserConsult.Visible = $true
})
}

# Label Action
$labelActionUser = New-Object System.Windows.Forms.Label
$labelActionUser.Text = “Sélectionnez l’action à effectuer :”
$labelActionUser.Location = New-Object System.Drawing.Point(20,130)
$labelActionUser.Size = New-Object System.Drawing.Size(300,20)
$labelActionUser.Visible = $false
$tabPage3.Controls.Add($labelActionUser)

# Checkboxes actions
$checkUserCreate = New-Object System.Windows.Forms.CheckBox
$checkUserCreate.Text = “Créer”
$checkUserCreate.Location = New-Object System.Drawing.Point(20,150)
$checkUserCreate.Size = New-Object System.Drawing.Size(100,20)
$checkUserCreate.Visible = $false
$checkUserCreate.Add_Click({
$checkUserModif.Checked = $false
$checkUserSuppr.Checked = $false
$checkUserConsult.Checked = $false
})
$tabPage3.Controls.Add($checkUserCreate)

$checkUserModif = New-Object System.Windows.Forms.CheckBox
$checkUserModif.Text = “Modifier”
$checkUserModif.Location = New-Object System.Drawing.Point(20,170)
$checkUserModif.Size = New-Object System.Drawing.Size(100,20)
$checkUserModif.Visible = $false
$checkUserModif.Add_Click({
$checkUserCreate.Checked = $false
$checkUserSuppr.Checked = $false
$checkUserConsult.Checked = $false
})
$tabPage3.Controls.Add($checkUserModif)

$checkUserSuppr = New-Object System.Windows.Forms.CheckBox
$checkUserSuppr.Text = “Supprimer”
$checkUserSuppr.Location = New-Object System.Drawing.Point(20,190)
$checkUserSuppr.Size = New-Object System.Drawing.Size(100,20)
$checkUserSuppr.Visible = $false
$checkUserSuppr.Add_Click({
$checkUserCreate.Checked = $false
$checkUserModif.Checked = $false
$checkUserConsult.Checked = $false
})
$tabPage3.Controls.Add($checkUserSuppr)

$checkUserConsult = New-Object System.Windows.Forms.CheckBox
$checkUserConsult.Text = “Consulter”
$checkUserConsult.Location = New-Object System.Drawing.Point(20,210)
$checkUserConsult.Size = New-Object System.Drawing.Size(100,20)
$checkUserConsult.Visible = $false
$checkUserConsult.Add_Click({
$checkUserCreate.Checked = $false
$checkUserModif.Checked = $false
$checkUserSuppr.Checked = $false
$btnUserSearch.Visible = $true
})
$tabPage3.Controls.Add($checkUserConsult)

# Label patient
$labelUserWait = New-Object System.Windows.Forms.Label
$labelUserWait.Text = “Extraction des utilisateurs en cours…”
$labelUserWait.Location = New-Object System.Drawing.Point(20,250)
$labelUserWait.Size = New-Object System.Drawing.Size(300,20)
$labelUserWait.Visible = $false
$tabPage3.Controls.Add($labelUserWait)

# ComboBox utilisateurs
$comboUserList = New-Object System.Windows.Forms.ComboBox
$comboUserList.Location = New-Object System.Drawing.Point(20,280)
$comboUserList.Size = New-Object System.Drawing.Size(300,30)
$comboUserList.Visible = $false
$tabPage3.Controls.Add($comboUserList)

# Bouton recherche utilisateur
$btnUserSearch = New-Object System.Windows.Forms.Button
$btnUserSearch.Text = “Rechercher”
$btnUserSearch.Location = New-Object System.Drawing.Point(130,210)
$btnUserSearch.Size = New-Object System.Drawing.Size(100,23)
$btnUserSearch.Visible = $false
$btnUserSearch.Add_Click({
$labelUserWait.Visible = $true
$btnUserSearch.Visible = $false
$comboUserList.Items.Clear()

$progressForm = New-Object System.Windows.Forms.Form
$progressForm.Text = “Chargement”
$progressForm.Size = New-Object System.Drawing.Size(400,120)
$progressForm.StartPosition = “CenterScreen”

$progressBar = New-Object System.Windows.Forms.ProgressBar
$progressBar.Minimum = 0
$progressBar.Maximum = 10000
$progressBar.Value = 0
$progressBar.Step = 1
$progressBar.Size = New-Object System.Drawing.Size(350,30)
$progressBar.Location = New-Object System.Drawing.Point(20,20)

$progressForm.Controls.Add($progressBar)
$progressForm.Show()

$allUsers = Get-ADUser -Filter * | Sort-Object Name
$i = 0
foreach ($user in $allUsers) {
$i++
$comboUserList.Items.Add($user.SamAccountName)
$progressBar.Value = $i
[System.Windows.Forms.Application]::DoEvents()
}
$progressForm.Close()

$labelUserWait.Visible = $false
$comboUserList.Visible = $true
})
$tabPage3.Controls.Add($btnUserSearch)