Solved

# How do I delete user account from AD using vbscript and a spreadsheet with the accounts to remove

Posted on 2008-06-19
1,844 Views
I need a vbscript that will look at a spreadsheet and then delete those accounts from Active Directory based on the user logon.
0
Question by:WNottsC
• 3

LVL 24

Accepted Solution

purplepomegranite earned 500 total points
ID: 21820796
The attached should do what you want.

I have tested the Excel code part (just change the variables at the beginning of the script for your needs), but I have been unable to check the AD part due to not being on a domain right now (or having access to a lab domain), so this part needs testing.

It should work - it was taken from another script to delete user accounts that worked.  Let me know!
strSourceWorkbook="E:\ee\AD\Delete AD Accounts from Excel List\test.xls" ' The workbook containing the account list

strSourceSheet="Sheet1" ' Set this to the name of the sheet containing the username list

rngUsername="B2" ' Set this to the first cell containing username in Excel

On Error Resume Next

' Initialise Excel

set oExcel=CreateObject("excel.application")

if Err.Number<>0 then

Err.Clear

WScript.Echo "Failed to open Excel"

WScript.Quit

end if

oExcel.Visible=false

oExcel.DisplayAlerts=false ' Don't show any dialog box prompts

' Initialise connection

' Obtain usernames from Excel file

set srcWorkbook=oExcel.Workbooks.Open(strSourceWorkBook)

if Err.Number=0 then

i=0

wsclript.echo "Deleting user " & strUserName

i=i+1

wend

srcWorkbook.Close

else

wscript.echo "Couldn't open workbook: " & Err.Description

Err.Clear

end if

oExcel.Quit

' Close connection

set objRootDSE = GetObject("LDAP://RootDSE")

strDNSDomain = objRootDSE.Get("defaultNamingContext")

strFilter = "(&(SAMAccountType=805306368)(SAMAccountName=" & strUsername & "))"

strQuery = "<LDAP://" & strDNSDomain & ">;" & strFilter & ";" & strFields & ";subtree"

wscript.echo "Deleting " & objRecordSet.Fields("distinguishedName").Value

Set objUser = GetObject("LDAP://" & objRecordSet.Fields("distinguishedName").Value)

objUser.Delete "user", "distinguishedName=" & objRecordSet.Fields("distinguishedName").Value

wend

end sub

0

LVL 24

Expert Comment

ID: 22007922
Thanks for the points, but why the B-grade?

http://www.experts-exchange.com/help.jsp#hi97
0

Author Comment

ID: 22008005
The solution was very good but I did have to provide a few changes in order to get this fully functioning.
0

LVL 24

Expert Comment

ID: 22008017
Thanks for clarifying.  Would it be possible to post the changes so that this question has a complete solution for anyone else looking for a similar function?  And also for my reference, of course! :-)
0

LVL 6

Expert Comment

ID: 22802688
I am looking for same request .. this script is not working

any update on this ??
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

### Suggested Solutions

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Deploying a Microsoft Access application in a Citrix environment is not difficult but takes a few steps. However, Citrix system people are often of little help, as they typically know next to nothing about Access. The script provided here will take …
Learn the basics of lists in Python. Lists, as their name suggests, are a means for ordering and storing values. : Lists are declared using brackets; for example: t = [1, 2, 3]: Lists may contain a mix of data types; for example: t = ['string', 1, T…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…