Advertisement
Guest User

ADUser

a guest
May 18th, 2018
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Add-Type -AssemblyName presentationframework, presentationcore
  2. $wpf = @{ }
  3. $inputXML = Get-Content -Path "C:\Users\budinben\source\repos\ADPhones\ADPhones\MainWindow.xaml"
  4. $inputXML
  5.  
  6.  
  7. $inputXMLClean = $inputXML -replace 'mc:Ignorable="d"','' -replace "x:N",'N' -replace 'x:Class=".*?"','' -replace 'd:DesignHeight="\d*?"','' -replace 'd:DesignWidth="\d*?"',''
  8. [xml]$xaml = $inputXMLClean
  9.  
  10. $xaml
  11.  
  12. $reader = New-Object System.Xml.XmlNodeReader $xaml
  13. $tempform = [Windows.Markup.XamlReader]::Load($reader)
  14. $namedNodes = $xaml.SelectNodes("//*[@*[contains(translate(name(.),'n','N'),'Name')]]")
  15. $namedNodes | ForEach-Object {$wpf.Add($_.Name, $tempform.FindName($_.Name))}
  16.  
  17. $wpf
  18.  
  19. $OfficePicker = $tempform.FindName("OfficePicker")
  20. $OfficePicker
  21.  
  22. $first = $wpf.InputFirstName.Text
  23. $last = $wpf.InputLastName.Text
  24. $fullName = $first + " " + $last
  25.  
  26.  
  27. $wpf.ButtonCheckName.add_Click({
  28.    
  29.     $name = $wpf.InputFirstName.Text + " " + $wpf.InputLastName.Text
  30.     $user = Get-ADUser -Filter {Name -eq $name} -Properties EmployeeNumber,extensionAttribute9,extensionName,ipPhone,Office,otherFacsimileTelephoneNumber
  31.    
  32.     if (!$user) {
  33.         $wpf.Results.Text = "User not found!"
  34.         } else {
  35.         $wpf.Results.Text = $user.Name
  36.         }
  37.  
  38.     })
  39.  
  40. $wpf.ButtonSubmit.add_Click({
  41.    
  42.     $office = $wpf.OfficePicker.Text
  43.  
  44.     switch ($office)
  45.         {
  46.         'Albuquerque' { $entry = 'Mitel-Albq-Entry' }
  47.         'Bend' { $entry = 'Mitel-Bend-Entry' }
  48.         'Boise' { $entry = 'Mitel-Boise-Entry' }
  49.         'Bremerton' { $entry = 'Mitel-Brem-Entry' }
  50.         "Coeur d'Alene" { $entry = 'Mitel-Coeur-Entry' }
  51.         'Portland' { $entry = 'Mitel-Port-Entry' }
  52.         'Pullman' { $entry = 'Mitel-Pull-Entry' }
  53.         'Puyallup' { $entry = 'Mitel-Puy-Entry' }
  54.         'Salt Lake City' { $entry = 'Mitel-SLC-Entry' }
  55.         'Seattle' { $entry = 'Mitel-Sea-Entry' }
  56.         'Spokane' { $entry = 'Mitel-Spoke-Entry' }
  57.         }
  58.  
  59.     $empNumber = $wpf.InputEmployeeNumber.Text
  60.     $phoneNumber = '1' + $wpf.InputPhoneNumber.Text
  61.     $fascimile = '192.168.2.4'
  62.     $ipPhone = $phoneNumber.Substring($phoneNumber.Length - 4)
  63.  
  64.     $name = $wpf.InputFirstName.Text + " " + $wpf.InputLastName.Text
  65.  
  66.     #check to make sure none of the fields are incorrect
  67.     if ((!$entry) -or ($empNumber.Length -ne 4) -or ($phoneNumber.Length -ne 11) -or (!$user)) {
  68.        
  69.         $wpf.Results.Text = "Please fix entry errors"
  70.         } else {
  71.  
  72.         $wpf.Results.Text = "Success!"
  73.         $user = Get-ADUser -Filter {Name -eq $name} -Properties EmployeeNumber,extensionAttribute9,extensionName,ipPhone,Office,otherFacsimileTelephoneNumber
  74.         $user.EmployeeNumber = $empNumber
  75.         $user.extensionAttribute9 = $phoneNumber
  76.         $user.extensionName = $entry
  77.         $user.ipPhone = $ipPhone
  78.         $user.Office = $office
  79.         $user.otherFacsimileTelephoneNumber = $fascimile
  80.         Set-ADUser -instance $user
  81.         }
  82.  
  83.  
  84.     })
  85.  
  86. $wpf.ADPhone.ShowDialog() | Out-Null
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement