Disabling Accounts from AD


New member
Dec 9, 2013
Programming Experience
I am trying to create a windows form application/tool that speeds up the process of the way we disable employees account for leave our organization. So far I have created a form that allows the user to input the user name of the account and click a button that searches active directory and displays who the account belongs two, the next step that I am trying to implement is after clicking a second button the application would disable the account, move to the disabled users OU, update the description and hide from the global address list, however I am having issue link the returned account so that it can move on to disable the account, this is where your help would be appreciated in the best way forward. Thanks

Imports System.DirectoryServices.AccountManagement
Imports System.DirectoryServices
Public Class FrmLeaversTool
    Dim insPrincipalContext As New PrincipalContext(ContextType.Domain, "domain", "DC=,DC=,DC=com")
    Dim currentADUser As System.DirectoryServices.AccountManagement.UserPrincipal
    Private Sub ListUsers(ByVal strUsername As String)
        Dim insUserPrincipal As New UserPrincipal(insPrincipalContext)
        insUserPrincipal.SamAccountName = strUsername
    End Sub
    Private Sub SearchUsers(ByVal parUserPrincipal As UserPrincipal)
        Dim insPrincipalSearcher As New PrincipalSearcher()
        'Dim currentADUser As System.DirectoryServices.AccountManagement.UserPrincipal
        insPrincipalSearcher.QueryFilter = parUserPrincipal
        Dim results As PrincipalSearchResult(Of Principal) = insPrincipalSearcher.FindAll
        For Each p As Principal In results
            currentADUser = p
            If currentADUser.Enabled = True Then
                LogDetails("Account Name: " & currentADUser.GivenName & " " & currentADUser.Surname)
                LogDetails("Account Enabled: " & currentADUser.Enabled)
                LogDetails("Account Description: " & currentADUser.Description)
                LogDetails("Account Password Set on: " & currentADUser.LastPasswordSet)
                MsgBox("Account already disabled")
            End If
    End Sub
    Private Sub LogDetails(ByVal strString As String)
        txtResults.Text = txtResults.Text & strString & vbCrLf
    End Sub
    Private Sub cmdFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdFind.Click
    End Sub
    Private Sub cmdRun_Click(sender As Object, e As EventArgs) Handles cmdRun.Click
        lblStatus.Text = "In Progress"
    End Sub
    Private Sub tmrProgress_Tick(sender As Object, e As EventArgs) Handles tmrProgress.Tick
            cmdReset.Enabled = False
            Me.Cursor = Cursors.WaitCursor
            If pgbProgress.Value = 10 Then
            chk1.Checked = True
            'Disable Account
            End If
            If pgbProgress.Value = 30 Then
            chk2.Checked = True
            'Reset password
            End If
            If pgbProgress.Value = 50 Then
            chk3.Checked = True
            'Description updated
            End If
            If pgbProgress.Value = 70 Then
            chk4.Checked = True
            'Hidden from the GAL
            End If
            If pgbProgress.Value = 90 Then
            chk5.Checked = True
            'Move account to disabled OU
            End If
            If pgbProgress.Value = pgbProgress.Maximum Then
                lblStatus.Text = "Completed"
                Me.Cursor = Cursors.Default
                pgbProgress.Value = 0
                cmdSend.Enabled = True
                cmdReset.Enabled = True
            End If
    End Sub
Top Bottom