Advertisement
Guest User

Cop AD User

a guest
Feb 15th, 2018
886
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.72 KB | None | 0 0
  1. Add-PSSnapin Microsoft.Exchange.Management.Powershell.E2010
  2.  
  3. Add-Type -AssemblyName System.Windows.Forms
  4.  
  5. $CopyADUser = New-Object system.Windows.Forms.Form
  6. $CopyADUser.Text = "Copy AD User"
  7. $CopyADUser.BackColor = "#ffffff"
  8. $CopyADUser.TopMost = $true
  9. $CopyADUser.Width = 420
  10. $CopyADUser.Height = 460
  11.  
  12. $label = New-Object system.windows.Forms.Label
  13. $label.Text = "Username to Copy"
  14. $label.AutoSize = $true
  15. $label.Width = 25
  16. $label.Height = 10
  17. $label.location = new-object system.drawing.point(25,20)
  18. $label.Font = "Microsoft Sans Serif,10"
  19. $CopyADUser.controls.Add($label)
  20.  
  21. $NewUsername = New-Object system.windows.Forms.Label
  22. $NewUsername.Text = "New Username"
  23. $NewUsername.AutoSize = $true
  24. $NewUsername.Width = 25
  25. $NewUsername.Height = 10
  26. $NewUsername.location = new-object system.drawing.point(242,20)
  27. $NewUsername.Font = "Microsoft Sans Serif,10"
  28. $CopyADUser.controls.Add($NewUsername)
  29.  
  30. $EnterFirstName = New-Object system.windows.Forms.Label
  31. $EnterFirstName.Text = "Enter First Name"
  32. $EnterFirstName.AutoSize = $true
  33. $EnterFirstName.Width = 25
  34. $EnterFirstName.Height = 10
  35. $EnterFirstName.location = new-object system.drawing.point(25,102)
  36. $EnterFirstName.Font = "Microsoft Sans Serif,10"
  37. $CopyADUser.controls.Add($EnterFirstName)
  38.  
  39. $EnterLastName = New-Object system.windows.Forms.Label
  40. $EnterLastName.Text = "Enter Last Name"
  41. $EnterLastName.AutoSize = $true
  42. $EnterLastName.Width = 25
  43. $EnterLastName.Height = 10
  44. $EnterLastName.location = new-object system.drawing.point(242,103)
  45. $EnterLastName.Font = "Microsoft Sans Serif,10"
  46. $CopyADUser.controls.Add($EnterLastName)
  47.  
  48. $EnterNewPassword = New-Object system.windows.Forms.Label
  49. $EnterNewPassword.Text = "Enter New Password"
  50. $EnterNewPassword.AutoSize = $true
  51. $EnterNewPassword.Width = 25
  52. $EnterNewPassword.Height = 10
  53. $EnterNewPassword.location = new-object system.drawing.point(25,183)
  54. $EnterNewPassword.Font = "Microsoft Sans Serif,10"
  55. $CopyADUser.controls.Add($EnterNewPassword)
  56.  
  57. $EnterPhoneNumber = New-Object system.windows.Forms.Label
  58. $EnterPhoneNumber.Text = "Enter Phone Number"
  59. $EnterPhoneNumber.AutoSize = $true
  60. $EnterPhoneNumber.Width = 25
  61. $EnterPhoneNumber.Height = 10
  62. $EnterPhoneNumber.location = new-object system.drawing.point(242,184)
  63. $EnterPhoneNumber.Font = "Microsoft Sans Serif,10"
  64. $CopyADUser.controls.Add($EnterPhoneNumber)
  65.  
  66. $UsernameCopy = New-Object system.windows.Forms.TextBox
  67. $UsernameCopy.Width = 100
  68. $UsernameCopy.Height = 20
  69. $UsernameCopy.location = new-object system.drawing.point(28,53)
  70. $UsernameCopy.Font = "Microsoft Sans Serif,10"
  71. $CopyADUser.controls.Add($UsernameCopy)
  72.  
  73. $Username = New-Object system.windows.Forms.TextBox
  74. $Username.Width = 100
  75. $Username.Height = 20
  76. $Username.location = new-object system.drawing.point(244,52)
  77. $Username.Font = "Microsoft Sans Serif,10"
  78. $CopyADUser.controls.Add($Username)
  79.  
  80. $FirstName = New-Object system.windows.Forms.TextBox
  81. $FirstName.Width = 100
  82. $FirstName.Height = 20
  83. $FirstName.location = new-object system.drawing.point(28,138)
  84. $FirstName.Font = "Microsoft Sans Serif,10"
  85. $CopyADUser.controls.Add($FirstName)
  86.  
  87. $LastName = New-Object system.windows.Forms.TextBox
  88. $LastName.Width = 100
  89. $LastName.Height = 20
  90. $LastName.location = new-object system.drawing.point(243,140)
  91. $LastName.Font = "Microsoft Sans Serif,10"
  92. $CopyADUser.controls.Add($LastName)
  93.  
  94. $NewPassword = New-Object system.windows.Forms.TextBox
  95. $NewPassword.Width = 100
  96. $NewPassword.Height = 20
  97. $NewPassword.location = new-object system.drawing.point(28,220)
  98. $NewPassword.Font = "Microsoft Sans Serif,10"
  99. $CopyADUser.controls.Add($NewPassword)
  100.  
  101. $PhoneNumber = New-Object system.windows.Forms.TextBox
  102. $PhoneNumber.Width = 100
  103. $PhoneNumber.Height = 20
  104. $PhoneNumber.location = new-object system.drawing.point(242,220)
  105. $PhoneNumber.Font = "Microsoft Sans Serif,10"
  106. $CopyADUser.controls.Add($PhoneNumber)
  107.  
  108. $Database = New-Object system.windows.Forms.Label
  109. $Database.Text = "Select Exchange Database"
  110. $Database.AutoSize = $true
  111. $Database.Width = 25
  112. $Database.Height = 10
  113. $Database.location = new-object system.drawing.point(110,280)
  114. $Database.Font = "Microsoft Sans Serif,10"
  115. $CopyADUser.controls.Add($Database)
  116.  
  117. $SelectDatabase = New-Object system.windows.Forms.ComboBox
  118. $SelectDatabase.Text = "Select Database"
  119. $SelectDatabase.Width = 124
  120. $SelectDatabase.Height = 20
  121. $SelectDatabase.Add_DropDown({
  122. #add here code triggered by the event
  123. $SelectDatabase.Items.add("NONE")
  124. $SelectDatabase.items.add("ACIDB")
  125. $SelectDatabase.items.add("ANX1DB")
  126. $SelectDatabase.items.add("ANX2DB")
  127. $SelectDatabase.items.add("APADB")
  128. $SelectDatabase.items.add("CODB1")
  129. $SelectDatabase.items.add("COTADB")
  130. $SelectDatabase.items.add("DOUDB")
  131. $SelectDatabase.items.add("EYMDB")
  132. $SelectDatabase.items.add("FLODB")
  133. $SelectDatabase.items.add("FTGDB")
  134. $SelectDatabase.items.add("GLODB")
  135. $SelectDatabase.items.add("JOURNAL1")
  136. $SelectDatabase.items.add("JOURNALDB")
  137. $SelectDatabase.Items.Add("LEWDB")
  138. $SelectDatabase.items.add("PHXDB")
  139. $SelectDatabase.items.add("PVDB")
  140. $SelectDatabase.items.add("SAFDB")
  141. $SelectDatabase.items.add("TUCDB")
  142. $SelectDatabase.items.add("WINDB")
  143. $SelectDatabase.items.add("YUMDB")
  144. })
  145. $SelectDatabase.location = new-object system.drawing.point(125,310)
  146. $SelectDatabase.Font = "Microsoft Sans Serif,10"
  147. $CopyADUser.controls.Add($SelectDatabase)
  148.  
  149. $CreateAccount = New-Object system.windows.Forms.Button
  150. $CreateAccount.Text = "Create Account"
  151. $CreateAccount.Width = 127
  152. $CreateAccount.Height = 27
  153. $CreateAccount.Add_MouseClick({
  154. #add here code triggered by the event
  155.  
  156. IF ($Username.Text -eq Get-ADUser ($Username.Text))
  157. {$wshell = New-Object -ComObject Wscript.Shell
  158. $wshell.PopUp("This username already exists. Please choose another")}
  159.  
  160. Else
  161. {$New_Pass = ($NewPassword.Text) | ConvertTo-SecureString -AsPlainText -Force
  162. $New_DisplayName = $LastName.Text + ', ' + $FirstName.Text
  163. $New_Path = (Get-ADUser ($UsernameCopy.Text)).DistinguishedName -replace '^.*?,\s*(?=ou=)', ''
  164. $HomePage = Get-ADUser ($UsernameCopy.Text) -Properties homepage
  165. $NewDescription = Get-ADUser ($UsernameCopy.Text) -Properties description
  166. $NewOffice = Get-ADUser ($UsernameCopy.Text) -Properties office
  167. $NewStreet = Get-ADUser ($UsernameCopy.Text) -Properties streetaddress
  168. $NewCity = Get-ADUser ($UsernameCopy.Text) -Properties city
  169. $NewState = Get-ADUser ($UsernameCopy.Text) -Properties state
  170. $NewPostalCode = Get-ADUser ($UsernameCopy.Text) -Properties postalcode
  171. $NewTitle = Get-ADUser ($UsernameCopy.Text) -Properties title
  172. $NewDepartment = Get-ADUser ($UsernameCopy.Text) -Properties department
  173. $NewCompany = Get-ADUser ($UsernameCopy.Text) -Properties company
  174. $NewScript = Get-ADUser ($UsernameCopy.Text) -Properties scriptpath
  175.  
  176. #Get Domain Name
  177. $NewDomain = ((Get-ADUser $UsernameCopy.Text).distinguishedname) -split "," | ? {$_ -like "DC=*"}
  178. $NewDomain = $NewDomain -join "." -replace ("DC=","")
  179.  
  180. $AD_Account_To_Copy = Get-ADUser $UsernameCopy.Text -Properties memberof
  181.  
  182. $params = @{'SamAccountName' = $Username.Text;
  183. 'Instance' = $AD_Account_To_Copy;
  184. 'DisplayName' = $New_DisplayName;
  185. 'GivenName' = $FirstName.Text;
  186. 'Path' = $New_Path;
  187. 'SurName' = $LastName.Text;
  188. 'ChangePasswordAtLogon' = $true;
  189. 'Enabled' = $true;
  190. 'UserPrincipalName' = $Username.Text + '@' + $NewDomain;
  191. 'AccountPassword' = $New_Pass;
  192. 'HomePage' = $HomePage.HomePage;
  193. 'Description' = $NewDescription.Description;
  194. 'Office' = $NewOffice.Office;
  195. 'StreetAddress' = $NewStreet.StreetAddress;
  196. 'City' = $NewCity.City;
  197. 'State' = $NewState.State;
  198. 'PostalCode' = $NewPostalCode.PostalCode;
  199. 'Title' = $NewTitle.Title;
  200. 'Department' = $NewDepartment.Department;
  201. 'Company' = $NewCompany.Company;
  202. 'ScriptPath' = $NewScript.ScriptPath;
  203. 'OfficePhone' = $PhoneNumber.text;
  204. }
  205.  
  206. New-ADUser -Name $New_DisplayName @params
  207.  
  208. $TempMembership = Get-ADUser -Identity $UsernameCopy.Text -Properties MemberOf |
  209. Select -ExpandProperty MemberOf |
  210. Add-ADGroupMember -Members $Username.Text
  211.  
  212.  
  213. If($SelectDatabase.text -eq "NONE"){}
  214. Else{
  215. Enable-Mailbox –Identity $Username.Text –alias $Username.Text –Database $SelectDatabase.Text
  216.  
  217. Set-Mailbox -Identity $Username.text –ManagedFolderMailboxPolicy “ADC Default MRM Policy” -ManagedFolderMailboxPolicyAllowed -Confirm:$false
  218. }}
  219. })
  220. $CreateAccount.location = new-object system.drawing.point(125,370)
  221. $CreateAccount.Font = "Microsoft Sans Serif,10"
  222. $CopyADUser.controls.Add($CreateAccount)
  223.  
  224. [void]$CopyADUser.ShowDialog()
  225. $CopyADUser.Dispose()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement