1. 程式人生 > >CMD bat file to read AD information

CMD bat file to read AD information

@SETLOCAL ENABLEDELAYEDEXPANSION
@echo off

for /f "tokens=*" %%a in ('dsquery group "OU=Foobar Groups,OU=Administration Accounts,DC=whitehouse,DC=net"') do (

    echo ========Group:==========
    echo 1:%%a

    for /f "tokens=* delims=;" %%b in ('dsquery * %%a -scope base -attr member ') do (

        echo --------line--------
        echo 2:%%b
        
        set "line="
        set line=%%b
        
REM Trim left spaces from the beginning of a string
        for /f "tokens=* delims= " %%x in ("!line!") do set line=%%x

REM Trim right spaces from the end of a string
        for /l %%y in (1,1,31) do if "!line:~-1!"==" " set line=!line:~0,-1!
        
        set line |find "DC" >nul && call :processToken
        
    )
    
    :endtoken
    echo.
)

goto :eof

:processToken

    set "member="
    for /f "tokens=1* delims=;" %%c in ("%line%") do (

        set member=%%c
        set line=%%d
        echo !member! 
        if not "!member!" == "" dsquery * "!member!" -scope base -attr objectClass
    )

REM  if not "%line%" == "" goto :processToken
    set line |find "DC" >nul && goto :processToken
    
    goto :endtoken