Guest User

Untitled

a guest
May 26th, 2015
576
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #This gets the group information in a function call used by two other functions
  2. function getComputerGroup
  3. { param($strComputer, $strGroup)
  4. $computer = [ADSI]("WinNT://" + $strComputer + ",computer")
  5. $Group = $computer.psbase.children.find($strGroup)
  6. return $Group
  7. }
  8. # This will list what’s currently in a Group so you can verify the result
  9. function listUsers
  10. { param($strComputer, $strGroup)
  11. $returnGroup = getComputerGroup -strComputer $strComputer -strGroup $strGroup
  12. $members= $returnGroup.psbase.invoke("Members") | %{$_.GetType().InvokeMember("Adspath", '
  13. GetProperty', $null, $_, $null)}
  14.  
  15. #$members |Out-GridView -Title ($strComputer +" "+ $strGroup)
  16. $richTextBox1.Clear()
  17. foreach ($line in $members) {
  18. $richTextBox1.Appendtext($line+[char]13+[char]10)
  19. }
  20. }
  21. #function to add a user to the affected machine group
  22. function Add-User
  23. { param($strComputer, $strGroup, $strUser)
  24. $returnGroup = getComputerGroup -strComputer $strComputer -strGroup $strGroup
  25. $tempvar ="WinNT://"+$strUser+",group"
  26. $returnGroup.Add($tempvar)
  27. }
  28. #function to delete a user to the affected/machine/group
  29. function Del-User
  30. {
  31. param($strComputer, $strGroup, $strUser)
  32. $returnGroup = getComputerGroup -strComputer $strComputer -strGroup $strGroup
  33. $tempvar ="WinNT://"+$strUser+",group"
  34. $returnGroup.Remove($tempvar)
  35. }
  36.  
  37. # Load the Winforms assembly
  38. [reflection.assembly]::LoadWithPartialName( "System.Windows.Forms") | Out-Null
  39.  
  40. # Create the form
  41. $form = New-Object Windows.Forms.Form
  42. $System_Drawing_Size = New-Object System.Drawing.Size
  43. $System_Drawing_Size.Width = 360
  44. $System_Drawing_Size.Height = 360
  45. $form.ClientSize = $System_Drawing_Size
  46. $form.BackColor = [System.Drawing.Color]::FromArgb(255,185,209,234)
  47. $form.StartPosition = 1
  48.  
  49. #Set the dialog title
  50. $form.text = "Group Membership Tool"
  51.  
  52. # Create the label control and set text, size and location
  53. $svrLabel = New-Object Windows.Forms.Label
  54. $svrLabel.Location = New-Object Drawing.Point 36,15
  55. $svrLabel.Size = New-Object Drawing.Point 210,15
  56. $svrLabel.text = "Computername"
  57. $svrLabel.Font = New-Object System.Drawing.Font("Microsoft Sans Serif",8,0,3,0)
  58.  
  59. $grplabel = New-Object Windows.Forms.Label
  60. $grplabel.Location = New-Object Drawing.Point 36,56
  61. $grplabel.Size = New-Object Drawing.Point 210,15
  62. $grplabel.text = "GroupName"
  63. $grplabel.Font = New-Object System.Drawing.Font("Microsoft Sans Serif",8,0,3,0)
  64.  
  65. $userlabel = new-object windows.forms.label
  66. $userlabel.Location = New-Object Drawing.Point 36,102
  67. $userlabel.Size = New-Object Drawing.Point 375,15
  68. $userlabel.text = "Username"
  69. $userlabel.Font = New-Object System.Drawing.Font("Microsoft Sans Serif",8,0,3,0)
  70.  
  71. $statusBar1 = New-Object System.Windows.Forms.StatusBar
  72. $statusBar1.DataBindings.DefaultDataSourceUpdateMode = 0
  73. $System_Drawing_Point = New-Object System.Drawing.Point
  74. $System_Drawing_Point.X = 0
  75. $System_Drawing_Point.Y = 280
  76. $statusBar1.Location = $System_Drawing_Point
  77. $statusBar1.Name = "statusBar1"
  78. $System_Drawing_Size = New-Object System.Drawing.Size
  79. $System_Drawing_Size.Height = 22
  80. $System_Drawing_Size.Width = 480
  81. $statusBar1.Size = $System_Drawing_Size
  82. $statusBar1.TabIndex = 12
  83. $statusBar1.Text = "Status"
  84.  
  85. $svrtext = New-Object Windows.Forms.TextBox
  86. $svrtext.Location = New-Object Drawing.Point 40,30
  87. $svrtext.Size = New-Object Drawing.Point 204,15
  88. $svrtext.Font = New-Object System.Drawing.Font("Microsoft Sans Serif",9.75,0,3,0)
  89. $svrtext.text = "localhost"
  90. $svrtext.TabIndex = 1
  91. #$svrtext.UseWaitCursor = $True
  92. #$svrtext.Focus()
  93. $comboBox1 = New-Object System.Windows.Forms.ComboBox
  94. $comboBox1.Font = New-Object System.Drawing.Font("Microsoft Sans Serif",9.75,0,3,0)
  95. $comboBox1.DataBindings.DefaultDataSourceUpdateMode = 0
  96. $comboBox1.FormattingEnabled = $True
  97. $comboBox1.text = "Administrators"
  98. $comboBox1.Items.Add("Administrators")|Out-Null
  99. $comboBox1.Items.Add("Backup Operators")|Out-Null
  100. $comboBox1.Items.Add("Debugger Users")|Out-Null
  101. $comboBox1.Items.Add("Power Users")|Out-Null
  102. $comboBox1.Items.Add("Print Operators")|Out-Null
  103. $comboBox1.Items.Add("Remote Desktop Users")|Out-Null
  104. $comboBox1.Items.Add("Replicator")|Out-Null
  105. $comboBox1.Items.Add("Users")|Out-Null
  106. $System_Drawing_Point = New-Object System.Drawing.Point
  107. $System_Drawing_Point.X = 40
  108. $System_Drawing_Point.Y = 72
  109. $comboBox1.Location = $System_Drawing_Point
  110. $comboBox1.Name = "comboBox1"
  111. $System_Drawing_Size = New-Object System.Drawing.Size
  112. $System_Drawing_Size.Height = 15
  113. $System_Drawing_Size.Width = 204
  114. $comboBox1.Size = $System_Drawing_Size
  115. $comboBox1.Sorted = $True
  116. $comboBox1.TabIndex = 2
  117.  
  118. $usertext = New-Object Windows.Forms.TextBox
  119. $usertext.Location = New-Object Drawing.Point 40,119
  120. $usertext.Size = New-Object Drawing.Point 204,15
  121. $usertext.Font = New-Object System.Drawing.Font("Microsoft Sans Serif",9.75,0,3,0)
  122. $usertext.text = ""
  123. $usertext.TabIndex = 3
  124. #Region Richtextbox 1
  125. $richTextBox1 = New-Object System.Windows.Forms.RichTextBox
  126. $richTextBox1.Anchor = 15
  127. $richTextBox1.DataBindings.DefaultDataSourceUpdateMode = 0
  128. $System_Drawing_Point = New-Object System.Drawing.Point
  129. $System_Drawing_Point.X = 15
  130. $System_Drawing_Point.Y = 190
  131. $richTextBox1.Location = $System_Drawing_Point
  132. $richTextBox1.Name = "richTextBox1"
  133. $richTextBox1.Font = New-Object System.Drawing.Font("Courier New",8,1,3,0)
  134. $System_Drawing_Size = New-Object System.Drawing.Size
  135. $System_Drawing_Size.Height = 140
  136. $System_Drawing_Size.Width = 330
  137. $richTextBox1.Size = $System_Drawing_Size
  138. $richTextBox1.TabIndex = 0
  139. $richTextBox1.Text = ""
  140. $form.Controls.Add($richTextBox1)
  141. #EndRegion
  142.  
  143. # Create Button and set text and location
  144. $button = New-Object Windows.Forms.Button
  145. $button.text = "GO"
  146. $button.Location = New-Object Drawing.Point 260,50
  147. $button.Font = New-Object System.Drawing.Font("Microsoft Sans Serif",9.75,0,3,0)
  148. $button.TabIndex = 7
  149.  
  150. $button1 = New-Object Windows.Forms.Button
  151. $button1.text = "PING"
  152. $button1.Location = New-Object Drawing.Point 260,100
  153. $button1.Font = New-Object System.Drawing.Font("Microsoft Sans Serif",9.75,0,3,0)
  154. $button1.TabIndex = 7
  155. $rdoAdd = New-Object Windows.forms.RadioButton
  156. $rdoAdd.text = "Add Member"
  157. $rdoAdd.height = 50
  158. $rdoAdd.width = 100
  159. $rdoAdd.top=148
  160. $rdoAdd.left =28
  161. $rdoAdd.TabIndex = 5
  162.  
  163. $rdoDel = New-Object Windows.forms.RadioButton
  164. $rdoDel.text = "Remove Member"
  165. $rdoDel.height = 50
  166. $rdoDel.width = 100
  167. $rdoDel.top=148
  168. $rdoDel.left =130
  169. $rdoDel.TabIndex = 6
  170. $rdoLst = New-Object Windows.forms.RadioButton
  171. $rdoLst.text = "List Members"
  172. $rdoLst.height = 50
  173. $rdoLst.width = 160
  174. $rdoLst.top=148
  175. $rdoLst.left =230
  176. $rdoLst.Checked = $True
  177. $rdoLst.TabIndex = 4
  178. # Set up event handler to extarct text from TextBox and display it on the Label.
  179. $button.add_click({
  180. $strComputer = $svrtext.text
  181. $strgroup = $comboBox1.text
  182. $username = $usertext.text
  183. if($rdoAdd.checked)
  184. {$status = "Added "
  185. Add-User -strComputer $strComputer -strGroup $strgroup -strUser $username
  186. $statusBar1.Text = $status + " " + $usertext.text + " on " + $svrtext.text +" to " + $comboBox1.text + " group "
  187. }
  188. elseif($rdoLst.checked)
  189. {$status = "List all users"
  190. listUsers -strComputer $strComputer -strGroup $strgroup -strUser $username
  191. $statusBar1.Text = $status + " " + $usertext.text + " on " + $svrtext.text +" in " + $comboBox1.text + " group "
  192. }
  193. elseif($rdoDel.checked)
  194. {$status = "Removed "
  195. Del-User -strComputer $strComputer -strGroup $strgroup -strUser $username
  196. $statusBar1.Text = $status + " " + $usertext.text + " on " + $svrtext.text +" from " + $comboBox1.text + " group "
  197. }
  198. })
  199. $button1.add_click({
  200. $strComputer = $svrtext.text
  201. $strgroup = $comboBox1.text
  202. $username = $usertext.text
  203. $richTextBox1.Clear()
  204. ping -n 5 $strComputer | out-string -Stream | foreach-object {
  205. $richTextBox1.lines = $richTextBox1.lines + $_
  206. $richTextBox1.Select($richTextBox1.Text.Length, 0)
  207. $richTextBox1.ScrollToCaret()
  208. $form.Update()}
  209. })
  210. # Add the controls to the Form
  211. $form.controls.add($button)
  212. $form.controls.add($button1)
  213. $form.controls.add($svrlabel)
  214. $form.controls.add($svrtext)
  215. $form.controls.add($grplabel)
  216. $form.controls.add($comboBox1)
  217. $form.controls.add($userlabel)
  218. $form.controls.add($usertext)
  219. $form.controls.add($rdoAdd)
  220. $form.controls.add($rdoDel)
  221. $form.controls.add($rdoLst)
  222. #$form.controls.add($dbglabel)
  223. $form.controls.add($statusBar1)
  224. # Display the dialog
  225. $form.ShowDialog()
Advertisement
Add Comment
Please, Sign In to add comment