Script to Delete Unknown Accounts on Workstations

I am trying to clean up the remnants of these accounts from all the workstations (I do not want to assume that it was all in the admin group, may be a db2 local group on the machine). So I want something that will recognize that the account no longer exists. The code snippet would be fine if there was a way to have it search through all local groups (not just administrators) and the environment is too large to try and find out exactly what groups are on which machines.

Is there a way to query AD for valid accounts and delete invalid?
Is it ok to search for a partial SID ("S-1-") as below.

Thanks for the help.

Domain = WScript.Arguments.Item(0) 
	Server = WScript.Arguments.Item(1) 
	Set objAdministrators = GetObject("WinNT://" & Domain & "/" & Server &  "/Administrators,group") 
	Set Administrators = objAdministrators.Members 
	For Each Admin in Administrators 
	If Mid(Admin.Name,1,4) = "S-1-" then 
	WScript.Echo "Removing " & Admin.Name 
	objAdministrators.Remove Admin.AdsPath 
	End If 
	Next

Open in new window

LVL 7
sfarazmandAsked:
Who is Participating?
 
Jared LukerCommented:
This works on my computer and would be great in a startup script.  When the computer processed the startup script, it should pull out all of those SID's out of there.
'Server = WScript.Arguments.Item(0) 
'strComputer = Server
strComputer = "."
Set colGroups = GetObject("WinNT://" & strComputer & "")
colGroups.Filter = Array("group")
For Each objGroup In colGroups
    'Wscript.Echo objGroup.Name 
    For Each objUser in objGroup.Members
        'WScript.Echo vbTab & objUser.Name
        If Mid(objUser.Name,1,4) = "S-1-" then 
			WScript.Echo "Removing " & objGroup.Name & " " & objUser.Name
			'WScript.Echo objUser.AdsPath
			objGroup.Remove objUser.AdsPath
		End If 
    Next
Next

Open in new window

0
 
sfarazmandAuthor Commented:
Thanks. I'll give it a shot.
0
 
sfarazmandAuthor Commented:
Works Like a charm. Thanks.
0
 
sfarazmandAuthor Commented:
Perfect!!
0
 
Jared LukerCommented:
Good deal!  Thanks.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.