From 437efbbc3374be6b580ddb9b9cc8b90a23209761 Mon Sep 17 00:00:00 2001 From: Tre Hayes Date: Tue, 29 Mar 2022 16:28:04 -0500 Subject: [PATCH] Add 'ADUser_GUI-Functions.ps1' Signed-off-by: Tre Hayes --- ADUser_GUI-Functions.ps1 | 151 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 ADUser_GUI-Functions.ps1 diff --git a/ADUser_GUI-Functions.ps1 b/ADUser_GUI-Functions.ps1 new file mode 100644 index 0000000..f86986a --- /dev/null +++ b/ADUser_GUI-Functions.ps1 @@ -0,0 +1,151 @@ +function manualBuild ($form_Controls) { + $empID_Label.Enabled = $true + $empID_Label.Visible = $true + $empID_TextBox.Enabled = $true + $empID_TextBox.Visible = $true + $fName_Label.Enabled = $true + $fName_Label.Visible = $true + $fName_TextBox.Enabled = $true + $fName_TextBox.Visible = $true + $mInitial_Label.Enabled = $true + $mInitial_Label.Visible = $true + $mInitial_TextBox.Enabled = $true + $mInitial_TextBox.Visible = $true + $lName_Label.Enabled = $true + $lName_Label.Visible = $true + $lName_TextBox.Enabled = $true + $lName_TextBox.Visible = $true + $nickName_Label.Enabled = $true + $nickName_Label.Visible = $true + $nickName_TextBox.Enabled = $true + $nickName_TextBox.Visible = $true + $deptCode_Label.Enabled = $true + $deptCode_Label.Visible = $true + $deptCode_TextBox.Enabled = $false + $deptCode_TextBox.Visible = $true + $deptName_Label.Enabled = $true + $deptName_Label.Visible = $true + $deptName_ComboBox.Enabled = $true + $deptName_ComboBox.Visible = $true + $jobCode_Label.Enabled = $true + $jobCode_Label.Visible = $true + $jobCode_TextBox.Enabled = $false + $jobCode_TextBox.Visible = $true + $jobTitle_Label.Enabled = $true + $jobTitle_Label.Visible = $true + $jobTitle_ComboBox.Enabled = $true + $jobTitle_ComboBox.Visible = $true + $vp_Label.Enabled = $true + $vp_Label.Visible = $true + $vp_TextBox.Enabled = $false + $vp_TextBox.Visible = $true + $csvPath_Label.Enabled = $false + $csvPath_Label.Visible = $false +} + +function csvBuild ($form_Controls) { + $empID_Label.Enabled = $false + $empID_Label.Visible = $false + $empID_TextBox.Enabled = $false + $empID_TextBox.Visible = $false + $fName_Label.Enabled = $false + $fName_Label.Visible = $false + $fName_TextBox.Enabled = $false + $fName_TextBox.Visible = $false + $mInitial_Label.Enabled = $false + $mInitial_Label.Visible = $false + $mInitial_TextBox.Enabled = $false + $mInitial_TextBox.Visible = $false + $lName_Label.Enabled = $false + $lName_Label.Visible = $false + $lName_TextBox.Enabled = $false + $lName_TextBox.Visible = $false + $nickName_Label.Enabled = $false + $nickName_Label.Visible = $false + $nickName_TextBox.Enabled = $false + $nickName_TextBox.Visible = $false + $deptCode_Label.Enabled = $false + $deptCode_Label.Visible = $false + $deptCode_TextBox.Enabled = $false + $deptCode_TextBox.Visible = $false + $deptName_Label.Enabled = $false + $deptName_Label.Visible = $false + $deptName_ComboBox.Enabled = $false + $deptName_ComboBox.Visible = $false + $jobCode_Label.Enabled = $false + $jobCode_Label.Visible = $false + $jobCode_TextBox.Enabled = $false + $jobCode_TextBox.Visible = $false + $jobTitle_Label.Enabled = $false + $jobTitle_Label.Visible = $false + $jobTitle_ComboBox.Enabled = $false + $jobTitle_ComboBox.Visible = $false + $vp_Label.Enabled = $false + $vp_Label.Visible = $false + $vp_TextBox.Enabled = $false + $vp_TextBox.Visible = $false + $csvPath_Label.Enabled = $true + $csvPath_Label.Visible = $true + clear-Fields +} + +function build-UserLog { + [CmdletBinding()] + param ( + [Parameter(Mandatory=$true)] [string]$empID + ) + $log_Time = Get-Date -Format "MM-dd-yyyy" + $log_File = '.\Users Built_'+$log_Time+'.csv' + Get-ADUser -Identity $empID -Properties SamAccountName,Name,Department,Description | ` + Select-Object @{l='Time Built';e={Get-Date}},@{l='Builder';e={$env:username}},@{l='Employee ID';e={$_.SamAccountName}},Name,Department,@{l='Job Title';e={$_.Description}} | ` + Export-Csv -Path $log_File -Append -NoTypeInformation +} + +function clear-Fields { + $empID_TextBox.Clear() + $fName_TextBox.Clear() + $mInitial_TextBox.Clear() + $lName_TextBox.Clear() + $nickName_TextBox.Clear() + $deptName_ComboBox.SelectedIndex = 0 + $jobTitle_ComboBox.SelectedIndex = 0 +} + +function set-JobCode ($jobTitle) { + foreach ($job in $jobs) { + switch ($jobTitle) { + $job.'Job Description' {$jobCode_TextBox.Text = $job.'Job Code'} + '' {$jobCode_TextBox.Text = ''} + } + } +} + +function set-DeptCode ($deptName) { + foreach ($dept in $departments) { + switch ($deptName) { + $dept.'DepartmentName' { + $deptCode_TextBox.Text = ($dept.'Deparment').replace(' ','') + $vp_TextBox.Text = $dept.'VP Name' + } + '' {$deptCode_TextBox.Text = ''; $vp_TextBox.Text = ''} + } + } +} + +function select-All ($textBox) { + if (($textBox.Control) -and ($textBox.KeyCode -eq 'A')) {$nickName_TextBox.SelectAll()} +} + +function validate-BoxesAndCombos () { + if($empID_TextBox.Text -and $fName_TextBox.Text -and $lName_TextBox.Text -and $deptName_ComboBox.Text -and $jobTitle_ComboBox.Text) { + $build_User_Button.Enabled = $true + } + else { + $build_User_Button.Enabled = $false + } +} + +function validate-RadioButtons () { + if ($csvBuild_RadioButton.Checked) { $build_User_Button.Enabled = $true } + else { $build_User_Button.Enabled = $false } +} \ No newline at end of file