258 lines
15 KiB
PowerShell
258 lines
15 KiB
PowerShell
Add-Type -AssemblyName System.Windows.Forms
|
|
Add-Type -AssemblyName System.Drawing
|
|
Add-Type -AssemblyName PresentationCore
|
|
|
|
$form = New-Object System.Windows.Forms.Form
|
|
$form.Text = 'LAPS'
|
|
$form.Size = New-Object System.Drawing.Size(380,180)
|
|
$form.StartPosition = 'CenterScreen'
|
|
$form.MaximizeBox = $false
|
|
$form.MinimizeBox = $false
|
|
$form.FormBorderStyle = 'Fixed3D'
|
|
|
|
|
|
$iconBase64 = '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'
|
|
$bitmap = New-Object System.Windows.Media.Imaging.BitmapImage
|
|
$bitmap.BeginInit()
|
|
$bitmap.StreamSource = [System.IO.MemoryStream][System.Convert]::FromBase64String($iconBase64)
|
|
$bitmap.EndInit()
|
|
$bitmap.Freeze()
|
|
$image = [System.Drawing.Bitmap][System.Drawing.Image]::FromStream($bitmap.StreamSource)
|
|
$icon = [System.Drawing.Icon]::FromHandle($image.GetHicon())
|
|
$form.Icon = $icon
|
|
|
|
$usernameLabel = New-Object System.Windows.Forms.Label
|
|
$usernameLabel.Location = New-Object System.Drawing.Point(30,20)
|
|
$usernameLabel.Text = 'Identifiant :'
|
|
|
|
$usernameTextbox = New-Object System.Windows.Forms.TextBox
|
|
$usernameTextbox.Location = New-Object System.Drawing.Point(120,20)
|
|
$usernameTextbox.Size = New-Object System.Drawing.Size(200,20)
|
|
#$usernameTextbox.PlaceholderText = 'admin-uid'
|
|
|
|
$passwordLabel = New-Object System.Windows.Forms.Label
|
|
$passwordLabel.Location = New-Object System.Drawing.Point(30,50)
|
|
$passwordLabel.Text = 'Mot de passe :'
|
|
|
|
$passwordTextbox = New-Object System.Windows.Forms.TextBox
|
|
$passwordTextbox.Location = New-Object System.Drawing.Point(120,50)
|
|
$passwordTextbox.Size = New-Object System.Drawing.Size(200,20)
|
|
$passwordTextbox.PasswordChar = '*'
|
|
|
|
$errorLabel = New-Object System.Windows.Forms.Label
|
|
$errorLabel.Location = New-Object System.Drawing.Point(30,100)
|
|
$errorLabel.Size = New-Object System.Drawing.Size(200,20)
|
|
$errorLabel.Visible = $false
|
|
|
|
$ValidateCreds = {
|
|
try{
|
|
if($usernameTextbox.Text -eq ''){
|
|
$errorLabel.Text = 'Identifiant manquant'
|
|
$errorLabel.ForeColor = 'DarkRed'
|
|
$errorLabel.Visible = $true
|
|
return
|
|
}
|
|
if($passwordTextbox.text -eq ''){
|
|
$errorLabel.Text = 'Mot de passe manquant'
|
|
$errorLabel.ForeColor = 'DarkRed'
|
|
$errorLabel.Visible = $true
|
|
return
|
|
}
|
|
$password = ConvertTo-SecureString $passwordTextbox.text -AsPlainText -Force
|
|
$creds = New-Object System.Management.Automation.PsCredential "ac-bureautique\$($usernameTextbox.Text)", $password
|
|
Get-LapsADPassword -Identity $env:COMPUTERNAME -Credential $creds
|
|
$form.DialogResult = 'OK'
|
|
$form.Close()
|
|
}catch{
|
|
$exitCode = $_.exception.errorcode
|
|
$errorLabel.Visible = $true
|
|
$errorLabel.ForeColor = 'DarkRed'
|
|
if($exitCode -eq 49){
|
|
$errorLabel.Text = 'Mauvais identifiant/mot de passe'
|
|
}else{
|
|
$errorLabel.Text = $_
|
|
}
|
|
}
|
|
}
|
|
|
|
$generateLapsButton = New-Object System.Windows.Forms.Button
|
|
$generateLapsButton.Text = 'OK'
|
|
$generateLapsButton.Location = New-Object System.Drawing.Point(240,100)
|
|
$generateLapsButton.Add_Click($ValidateCreds)
|
|
$form.AcceptButton = $generateLapsButton
|
|
|
|
$form.Controls.add($usernameTextbox)
|
|
$form.Controls.add($passwordTextbox)
|
|
$form.Controls.add($passwordLabel)
|
|
$form.Controls.add($errorLabel)
|
|
$form.Controls.add($usernameLabel)
|
|
$form.Controls.add($generateLapsButton)
|
|
|
|
$result = $form.ShowDialog()
|
|
#$result = 'OK'
|
|
|
|
if($result -ne 'OK'){
|
|
exit 0
|
|
}
|
|
|
|
$password = ConvertTo-SecureString $passwordTextbox.text -AsPlainText -Force
|
|
$creds = New-Object System.Management.Automation.PsCredential "ac-bureautique\$($usernameTextbox.Text)", $password
|
|
|
|
$form.dispose()
|
|
|
|
$machineForm = New-Object System.Windows.Forms.Form
|
|
$machineForm.Text = 'LAPS'
|
|
$machineForm.Size = New-Object System.Drawing.Size(470,270)
|
|
$machineForm.StartPosition = 'CenterScreen'
|
|
$machineForm.MaximizeBox = $false
|
|
$machineForm.MinimizeBox = $false
|
|
$machineForm.FormBorderStyle = 'Fixed3D'
|
|
$machineForm.Icon = $icon
|
|
|
|
# computer fields
|
|
# label
|
|
$computerNameLabel = New-Object System.Windows.Forms.Label
|
|
$computerNameLabel.Location = New-Object System.Drawing.Point(30,20)
|
|
$computerNameLabel.Size = New-Object System.Drawing.Size(120,20)
|
|
$computerNameLabel.Text = "Nom de l'ordinateur"
|
|
# textbox
|
|
$computerNameTextbox = New-Object System.Windows.Forms.TextBox
|
|
$computerNameTextbox.Location = New-Object System.Drawing.Point(150,20)
|
|
$computerNameTextbox.Size = New-Object System.Drawing.Size(200,20)
|
|
|
|
# calendar
|
|
# label
|
|
$calendarLabel = New-Object System.Windows.Forms.Label
|
|
$calendarLabel.Location = New-Object System.Drawing.Point(30,70)
|
|
$calendarLabel.Text = "Date d'expiration"
|
|
$calendarLabel.Visible = $false
|
|
# calendar
|
|
$calendar = New-Object System.Windows.Forms.DateTimePicker
|
|
$calendar.Format = [windows.forms.datetimepickerFormat]::custom
|
|
$calendar.CustomFormat = "dd/MM/yyyy HH:mm:ss"
|
|
#$calendar.MinDate = [DateTime]::Now
|
|
$calendar.Location = New-Object System.Drawing.Point(150,70)
|
|
$calendar.Visible = $false
|
|
|
|
# laps fields
|
|
# label
|
|
$lapsPasswordLabel = New-Object System.Windows.Forms.Label
|
|
$lapsPasswordlabel.Location = New-Object System.Drawing.Point(30,120)
|
|
$lapsPasswordlabel.Size = New-Object System.Drawing.Size(120,20)
|
|
$lapsPasswordlabel.Text = "Mot de passe LAPS"
|
|
$lapsPasswordlabel.Visible = $false
|
|
# textbox
|
|
$lapsPasswordTextbox = New-Object System.Windows.Forms.TextBox
|
|
$lapsPasswordTextbox.Location = New-Object System.Drawing.Point(150,120)
|
|
$lapsPasswordTextbox.Size = New-Object System.Drawing.Size(200,20)
|
|
$lapsPasswordTextbox.Font = New-Object System.Drawing.Font('Consolas',10)
|
|
$lapsPasswordTextbox.ReadOnly = $true
|
|
$lapsPasswordTextbox.Visible = $false
|
|
|
|
$copyPassword = {
|
|
if($lapsPasswordTextbox.text -ne ''){
|
|
$lapsPasswordTextbox.text | Set-Clipboard
|
|
}
|
|
}
|
|
|
|
$copyButton = New-Object System.Windows.Forms.Button
|
|
$copyButton.Location = New-Object System.Drawing.Point(360,120)
|
|
$copyButton.Text = 'Copier'
|
|
$copyButton.Add_Click($copyPassword)
|
|
$copyButton.visible = $false
|
|
$copyButton.Enabled = $false
|
|
|
|
$errorLabel = New-Object System.Windows.Forms.Label
|
|
$errorLabel.Location = New-Object System.Drawing.Point(30,170)
|
|
$errorLabel.Size = New-Object System.Drawing.Size(240,60)
|
|
$errorLabel.Visible = $false
|
|
|
|
$generateLaps = {
|
|
$identity = $computerNameTextbox.Text
|
|
$effective = $calendar.Value
|
|
try{
|
|
$var = Set-LapsADPasswordExpirationTime -Identity $identity -Credential $creds -WhenEffective $effective -ErrorAction Stop
|
|
$laps = Get-LapsADPassword -Identity $identity -DecryptionCredential $creds -Credential $creds -AsPlainText -ErrorAction Stop
|
|
$lapsPasswordTextbox.text = $laps.Password
|
|
$errorLabel.Visible = $false
|
|
}catch{
|
|
switch($_){
|
|
"Cannot bind argument to parameter 'Identity' because it is an empty string." { $errorLabel.text = "Nom d'ordinateur manquant" }
|
|
"Failed to find the '$($identity)' computer in AD" { $errorLabel.text = "Impossible de trouver l'ordinateur $($identity) dans l'AD" }
|
|
default { $errorLabel.text = "$_" }
|
|
}
|
|
$lapsPasswordTextbox.text = ''
|
|
$errorLabel.ForeColor = 'DarkRed'
|
|
$errorLabel.Visible = $true
|
|
}
|
|
}
|
|
|
|
# label
|
|
|
|
# generate button
|
|
$generateLapsButton = New-Object System.Windows.Forms.Button
|
|
$generateLapsButton.Add_Click($generateLaps)
|
|
$generateLapsButton.Location = New-Object System.Drawing.Point(280,170)
|
|
$generateLapsButton.Size = New-Object System.Drawing.Size(80,20)
|
|
$generateLapsButton.text = 'Mettre à jour'
|
|
$generateLapsButton.Visible = $false
|
|
|
|
$showLaps = {
|
|
$identity = $computerNameTextbox.Text
|
|
$copyButton.Visible = $false
|
|
$lapsPasswordTextbox.Visible = $false
|
|
$lapsPasswordLabel.Visible = $false
|
|
$calendarLabel.Visible = $false
|
|
$calendar.Visible = $false
|
|
$generateLapsButton.Visible = $false
|
|
$calendar.MinDate = [DateTime]'01/01/1970'
|
|
try{
|
|
$laps = Get-LapsADPassword -Identity $identity -DecryptionCredential $creds -Credential $creds -AsPlainText -ErrorAction Stop
|
|
$lapsPasswordTextbox.text = $laps.Password
|
|
if($laps.Password -eq ''){
|
|
$copyButton.Enabled = $false
|
|
}else{
|
|
$copyButton.Enabled = $true
|
|
}
|
|
$errorLabel.Visible = $false
|
|
$copyButton.Visible = $true
|
|
$calendar.Value = [DateTime]$laps.ExpirationTimestamp
|
|
$calendar.MinDate = [DateTime]::Now
|
|
$lapsPasswordTextbox.Visible = $true
|
|
$lapsPasswordLabel.Visible = $true
|
|
$calendarLabel.Visible = $true
|
|
$calendar.Visible = $true
|
|
$generateLapsButton.Visible = $true
|
|
}catch{
|
|
switch($_){
|
|
"Cannot bind argument to parameter 'Identity' because it is an empty string." { $errorLabel.text = "Nom d'ordinateur manquant" }
|
|
"Failed to find the '$($identity)' computer in AD" { $errorLabel.text = "Impossible de trouver l'ordinateur $($identity) dans l'AD" }
|
|
default { $errorLabel.text = "$_" }
|
|
}
|
|
$lapsPasswordTextbox.text = ''
|
|
$errorLabel.ForeColor = 'DarkRed'
|
|
$errorLabel.Visible = $true
|
|
}
|
|
}
|
|
|
|
$showLapsButton = New-Object System.Windows.Forms.Button
|
|
$showLapsButton.Location = New-Object System.Drawing.Point(360,18)
|
|
$showLapsButton.Text = 'Chercher'
|
|
$showLapsButton.Add_Click($showLaps)
|
|
|
|
$machineForm.Controls.add($computerNameLabel)
|
|
$machineForm.Controls.add($computerNameTextbox)
|
|
$machineForm.Controls.add($showLapsButton)
|
|
$machineForm.Controls.add($calendarLabel)
|
|
$machineForm.Controls.add($calendar)
|
|
$machineForm.Controls.add($lapsPasswordLabel)
|
|
$machineForm.Controls.add($lapsPasswordTextbox)
|
|
$machineForm.Controls.add($copyButton)
|
|
$machineForm.Controls.add($errorLabel)
|
|
$machineForm.Controls.add($generateLapsButton)
|
|
|
|
$result = $machineForm.ShowDialog()
|
|
|
|
$machineForm.dispose()
|
|
|
|
exit 0 |