°ø°³ ÇÁ·Î±×·¥ SHOWMBRS¿Í Ç¥ÁØ ¸í·ÉÀ» »ç¿ëÇÔÀ¸·Î¼ ±×·ì¸í°ú »ç¿ëÀÚ¸íÀ» Æ÷ÇÔÇÑ CSV (Comma Seperated Value) ÆÄÀÏÀ» »ý¼ºÇÒ ¼ö ÀÖ´Ù. ÀÌ ÆÄÀÏÀÇ Çü½ÄÀº
"GroupName","AccountBase\UserName"
ÀÌ´Ù. ¿©±â¼ AccountBase´Â Domain NameÀ̳ª Computer NameÀÌ´Ù.
µµ¸ÞÀÎ Á¦¾î±â¿¡¼ ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ¸é¼ Domain NameÀ» ÁöÁ¤Çϸé AccountBase´Â Domain NameÀÏ °ÍÀÌ´Ù.
µµ¸ÞÀÎ Á¦¾î±â¿¡¼ ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ¸é¼ Domain NameÀ» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é AccountBase´Â Domain Global Group ¸â¹ö½±¿¡´ëÇØ ³ÎÀÏ °ÍÀÌ´Ù.
¼¹ö³ª ¿÷½ºÅ×À̼ǿ¡¼ ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇϸé, GroupNameÀº ·ÎÄ®À̸ç, AccountBaseÀº UserNameÀÌ ·ÎÄ® °èÁ¤ÀÎÁö, µµ¸ÞÀÎ °èÁ¤ÀÎÁö¸¦ Áö½ÃÇÒ °ÍÀÌ´Ù.
CSV ÆÄÀÏÀ» ½ºÇÁ·¹µå ½¬Æ®, ¿öµå ÇÁ·Î¼¼¼, µ¥ÀÌŸº£À̽º¿¡¼ ºÒ·¯¿Ã ¼ö ÀÖÀ¸¹Ç·Î ÃëÇâ¿¡ µû¶ó ¹®¼¸¦ ²Ù¹Ð ¼öµµ ÀÖ´Ù. ´ÙÀ½Àº ºÎºÐÀûÀÎ µ¥ÀÌŸ·Î ¸¸µç °£´ÜÇÑ ÁúÀÇÀÌ´Ù.
| »ç¿ëÀÚ |
ÃѼö |
°ü¸®ÀÚ |
µµ¸ÞÀΰü¸®ÀÚ |
µµ¸ÞÀλç¿ëÀÚ |
½ÃÇè»ç¿ëÀÚ |
»ç¿ëÀÚ |
| DoA\Administrator |
3 |
1 |
1 |
1 |
0 |
0 |
| DoA\Domain Admins |
1 |
1 |
0 |
0 |
0 |
0 |
| DoA\Domain Users |
1 |
0 |
0 |
0 |
0 |
1 |
| DoA\Jennifer |
1 |
0 |
0 |
1 |
0 |
0 |
| DoA\JERRY |
3 |
1 |
1 |
1 |
0 |
0 |
| DoA\Test User |
2 |
0 |
0 |
1 |
1 |
0 |
| DoA\ULTRABAC |
3 |
1 |
1 |
1 |
0 |
0 |
ÀÌ ½ºÅ©¸³Æ®´Â ·ÎÄ® ±×·ì³»ÀÇ Àü¿ª ±×·ì ¸â¹ö½± ¶ÇÇÑ Ãâ·ÂÇÑ´Ù(DoA/Domain UsersÀº UsersÀÇ ±¸¼º¿øÀÌ´Ù).
DoAUserRpt.batÀÇ »ç¿ëÇü½ÄÀº ´ÙÀ½°ú °°´Ù.
DoAUserRpt "\csvfile.csv" [Domain Name]
¿©±â¼
| ¸Å°³º¯¼ö |
¼³¸í |
| "\csvfile.csv" |
º¸°í¼¸¦ Æ÷ÇÔÇÒ CSV ÆÄÀÏ |
| Domain Name |
Domain Name, DoAUserRpt¸¦ Domain Controller¿¡¼ ½ÇÇàÇÏ´Â °æ¿ì, Àû´çÇÑ °ªÀ» »ç¿ëÇÑ´Ù. |
DoAUserRpt.bat´Â ´ÙÀ½°ú °°Àº ³»¿ëÀ» Æ÷ÇÔÇÑ´Ù.
@echo off
If "%1"=="" goto syntax
if exist %1 del /q %1
goto start
:syntax
@echo Syntax: DoAUserRpt Drive:\Path\UserRpt.csv DomainName
goto end
:start
set dom=
if "%2"=="" goto nodom
set dom=%2
set dom=%dom:"=%
:nodom
if exist %TEMP%\UserRpt.log del /q %TEMP%\UserRpt.log
net localgroup /domain|Findstr /b /c:"" %TEMP%\UserRpt.log
net group /domain|Findstr /b /c:"" %TEMP%\UserRpt.log
REM ´ÙÀ½Àº ÇÑÇàÀÌ´Ù.
for /f "tokens=1-3* delims=*" %%i in (%TEMP%\UserRpt.log) do call :group %1 "%%i"&call :group %1 "%%j"&call :group %1 "%%k"
set fix=
set grp=
set tst=
set dom=
goto end
:group
set grp=
set grp=%2
:strips
set fix=%grp%
REM ´ÙÀ½ÇàÀº :¿Í " »çÀÌ¿¡ 10°³ÀÇ °ø¹éÀ» °¡Áö°í ÀÖ´Ù.
set grp=%grp: "="
REM ´ÙÀ½ÇàÀº :¿Í " »çÀÌ¿¡ 5°³ÀÇ °ø¹éÀ» °¡Áö°í ÀÖ´Ù.
set grp=%grp: "="
REM ´ÙÀ½ÇàÀº :¿Í " »çÀÌ¿¡ 3°³ÀÇ °ø¹éÀ» °¡Áö°í ÀÖ´Ù.
set grp=%grp: "="
set grp=%grp: "="%
if %grp%=="" goto end
if %grp%==%fix% goto goodgrp
goto strips
:goodgrp
for /f "Tokens=1-3*" %%i in ('showmbrs %grp%') do call :users %1 "%%i" "%%j" "%%k" "%%l"
goto end
:users
If not %5=="" goto end
set fix=%2%3%4%5
set fix=%fix:"""="%
set fix=%fix:"""="%
set fix=%fix:""= %
set tst=%fix:$"="%
if not %tst%==%fix% goto end
for /f "Tokens=1* Delims=\" %%i in (%fix%) do call :bslash "%%i" "%%j"
@echo %grp%,%fix% %1
goto end
:bslash
if not %2=="" goto end
if "%dom%"=="" goto end
set tst="%dom%\%fix%
set fix=%tst:\"=\%
:end
´ñ±Û: