Script to find the user account


Recommended Posts

Hi Guys,

I have recently taken over a network where it appears the user folders are never maintained, would someone be able to code a script for me that will list the folders that dont have a user account in AD, and possibly move the folders around according to the OU structure.

Link to comment
https://www.neowin.net/forum/topic/666588-script-to-find-the-user-account/
Share on other sites

... oh wow

i'm not sure if this can be done

Sure it can :) ... With a bit of work!

I have recently taken over a network where it appears the user folders are never maintained, would someone be able to code a script for me that will list the folders that dont have a user account in AD...

You're in luck as I've just gone through this exercise for our organisation specifically to identify orphaned home directories and how much space they were consuming. You should be able to easily adapt this VB script :) Just change the strHomeDirPath & strDomain variables and run it from a Command Prompt (e.g., cscript myvbscript.vbs)...

' Force explicit variable declaration
Option Explicit

' Required to catch & continue on from errors
On Error Resume Next

' Declare and initialise constants
Const ADS_NAME_INITTYPE_GC = 3
Const ADS_NAME_TYPE_1779 = 1
Const ADS_NAME_TYPE_NT4 = 3

' Declare variables
Dim objFSO, objFolder, objSubFolder, colSubFolders, objNameTranslate, objUser
Dim strDomain, strHomeDirPath, strUserName, strUserNameDN
Dim intFolderSize

' Initialise variables
strHomeDirPath = "D:\Home\"
strDomain = "MYDOMAIN"
Set objNameTranslate = CreateObject("NameTranslate")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strHomeDirPath)
Set colSubFolders = objFolder.SubFolders

' Output the column headings for our .csv formatted dump
WScript.Echo "Folder Name"& "," & "AD User Name" & "," & "Folder Size" & "," & "Valid/Invalid AD User"

' Loop through all home directories
For Each objSubFolder in colSubFolders
	' Get the folder name (i.e., username)
	strUserName = objSubFolder.Name

	' Translate the username to a distinguished name
	objNameTranslate.Init ADS_NAME_INITTYPE_GC, ""
	objNameTranslate.Set ADS_NAME_TYPE_NT4, strDomain & "\" & strUserName
	strUserNameDN = objNameTranslate.Get(ADS_NAME_TYPE_1779)

	' Get the folder size in megabytes with 1 decimal point
	intFolderSize = Round(objSubFolder.Size / 1024 / 1024, 1)

	' Check if translation failed (i.e., user does not exist in Active Directory)
	If Err.Number <> 0 Then
		' The user no longer exists in Active Directory; don't do anything
		WScript.Echo strUserName & "," & "," & intFolderSize & "," & "invalid"
	Else
		' The user exists in Active Directory; bind to the user using the LDAP provider and get their Display Name
		Set objUser = GetObject("LDAP://" & strUserNameDN)
		WScript.Echo strUserName & "," & objUser.displayName & "," & intFolderSize & "," & "valid"
	End If

	' Clear any errors before looping again
	Err.Clear
Next

' Object destruction
Set objFSO = Nothing
Set colSubFolders = Nothing
Set objFolder = Nothing
Set objSubFolder = Nothing
Set objNameTranslate = Nothing
Set objUser = Nothing

' Quit
WScript.Quit

That'll give you a comma separated file which you can import into Excel (or Numbers if you're a Mac fan given your signature? :p) if you need to produce a report/manipulate the data further - or you could directly send the output to a file to make it easier to work with immediately e.g., cscript myvbscript.vbs > myoutputfile.csv. If you're wanting to move/delete the orphaned home directories right away, just add the required code into the Else branch of the If/Else statement.

As for the second part of your request...

... possibly move the folders around according to the OU structure

I'm not entirely sure what you want to do here. Are you asking whether you can use a script to move a user's home directory to another folder based on the user's Organisational Unit? Or...?

Edited by fault
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Samsung Galaxy XR arrives in the UK with new AI and enterprise features by Fiza Ali Samsung is bringing its Galaxy XR headset to the UK several months after the device made its debut as the first headset built on Google's Android XR platform. The headset was first teased in late 2024 alongside Google's introduction of Android XR before making its commercial debut in 2025. Developed in collaboration with Google and Qualcomm, Galaxy XR combines mixed reality experiences with Gemini-powered AI features, allowing users to interact with digital content using voice, gestures, and visual inputs. While the hardware itself remains largely unchanged from the version Samsung unveiled last year, the company is using the UK launch to spotlight several software enhancements that have arrived through recent updates. Among the most notable additions is deeper integration with Google's ecosystem. Galaxy XR users can explore destinations through Google Maps' Immersive View, receiving AI-powered recommendations and contextual information from Gemini while navigating virtual environments. Furthermore, entertainment experiences have also expanded; users can watch 180-degree and 360-degree videos on YouTube, browse spatial content converted into 3D, and ask Gemini questions about on-screen content without interrupting playback. Samsung is also highlighting mixed-reality features such as Circle to Search, which allows users to identify real-world objects through hand gestures while using the headset's video pass-through mode. Another feature automatically converts photos and videos into spatial 3D experiences. Moreover, the headset now also supports Android Enterprise, allowing organisations to manage deployments using existing Android management tools. Annika Bizon, Vice President, Product and Marketing, Mobile Experience, Samsung UK & Ireland, talked about the device, stating: The headset is powered by Qualcomm's Snapdragon XR2+ Gen 2 platform and features dual 4K Micro-OLED displays. The tech giant says that users can expect up to 2.5 hours of battery life. Samsung also confirmed that Galaxy XR will continue receiving software and security updates as the company works alongside Google and Qualcomm to expand the Android XR ecosystem. Galaxy XR is now available for pre-order and will go on sale on 8 July. Customers interested in trying the headset before launch can visit Samsung KX in London and selected Samsung Experience Stores from 17 June. Finally, the company will also host a livestream on 19 June showcasing the headset's capabilities and answering questions from prospective customers.
    • Cowork is so broken. it will keep just not responding while trying to do a task. Then you have to work to get it to REstart the task.
  • Recent Achievements

    • First Post
      Jocimo earned a badge
      First Post
    • Week One Done
      suprememobiles48 earned a badge
      Week One Done
    • One Month Later
      Windows Guy earned a badge
      One Month Later
    • One Month Later
      Prasann earned a badge
      One Month Later
    • Week One Done
      Prasann earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      521
    2. 2
      +Edouard
      174
    3. 3
      PsYcHoKiLLa
      95
    4. 4
      Steven P.
      84
    5. 5
      ATLien_0
      70
  • Tell a friend

    Love Neowin? Tell a friend!