中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请指点如何实现自助更改密码
作者:
标题: 请指点如何实现自助更改密码 上一主题 | 下一主题
shim
初级用户





积分 85
发帖 73
注册 2007-9-23
状态 离线
『楼 主』:  请指点如何实现自助更改密码

现有如下用户登录密码认证程序,请问在此基础上如何实现用户登录后可以更改密码: set pass=0 set times=0 :start set /p pass=请输入登录密码: if %pass%==××××××× goto ok if %times%==0 goto end set /A times=%times%-1 :ok echo 认证通过 :end echo 对不起,您的密码有误。 谢谢指教!期待中。。。


2007-11-21 11:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
shim
初级用户





积分 85
发帖 73
注册 2007-9-23
状态 离线
『第 2 楼』:  

怎么没有高人指点呢?自己顶一下.


2007-11-28 09:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
shim
初级用户





积分 85
发帖 73
注册 2007-9-23
状态 离线
『第 3 楼』:  

再顶


2007-11-29 15:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
shim
初级用户





积分 85
发帖 73
注册 2007-9-23
状态 离线
『第 4 楼』:  

还顶


2007-12-5 21:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
shim
初级用户





积分 85
发帖 73
注册 2007-9-23
状态 离线
『第 5 楼』:  

没有高手回答,继续顶》》》》


2007-12-9 16:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anpengshi
新手上路





积分 4
发帖 2
注册 2007-12-9
状态 离线
『第 6 楼』:  



2007-12-9 22:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
shim
初级用户





积分 85
发帖 73
注册 2007-9-23
状态 离线
『第 7 楼』:  

不能停,再顶!


2007-12-11 20:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhlen
新手上路





积分 15
发帖 8
注册 2007-12-8
状态 离线
『第 8 楼』:  

没有看的太懂您说的意思,如果是管理员用户下,以下这个命令可以修改密码: net user administrator 123456 如果想每天定时修改密码的话,可以在"任务"中添加执行您写的批处理脚本.或者dos下使用如下命令: ( 开启已注册的某个计划任务 ) at id号


2007-12-11 21:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
shim
初级用户





积分 85
发帖 73
注册 2007-9-23
状态 离线
『第 9 楼』:  

Originally posted by zhlen at 2007-12-11 09:09 PM: 没有看的太懂您说的意思,如果是管理员用户下,以下这个命令可以修改密码: net user administrator 123456 如果想每天定时修改密码的话,可以在"任务&q ...
我说的意思是,比如: 就是在批处理中用如下这种方式的密码更改 …… 输入更改的密码 …… 再次确认更改的密码 …… 上述要求该怎么样实现 不是您所说的那种方式 谢谢指教!期待中。。。


2007-12-17 23:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
shim
初级用户





积分 85
发帖 73
注册 2007-9-23
状态 离线
『第 10 楼』:  

谢谢回复!


2007-12-30 18:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
aofunjaw
新手上路





积分 6
发帖 3
注册 2007-12-28
状态 离线
『第 11 楼』:  

推推~


2007-12-31 19:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
shim
初级用户





积分 85
发帖 73
注册 2007-9-23
状态 离线
『第 12 楼』:  

看来这事情已经成为难解之谜了。呵呵,静候……


2009-8-16 07:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 13 楼』:  Re 12楼

多试试论坛的搜索功能 如何添加修改自身密码功能 www.cn-dos.net/forum ... 让批处理随机修改自身的密码 www.cn-dos.net/forum ... 修改批处理自身密码 www.cn-dos.net/forum ...




2009-8-17 01:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bluewaterx
初级用户





积分 132
发帖 68
注册 2008-7-29
状态 离线
『第 14 楼』:  

现从别的cmd文件里扣出来的,密码明文存在注册表中,未加密
@echo off
mode con cols=78 lines=34&color f0
setlocal enabledelayedexpansion
md c:\pw >nul 2>nul
set myPath=c:\pw\
set regRoot=HKEY_CLASSES_ROOT\.ax\rt&set regAB=rP&set pX=5
type "%myPath%hide.pw">nul 2>nul&& goto sub3

:lpSelect
CLS&ECHO      A.其他的内容[未定义]	B.设置本软件密码
echo.
set /p Sex=     请选择:
if /i "%Sex%"=="B" type "%myPath%hide.pw">nul 2>nul&& goto sub1||goto sub2
set Sex=&goto lpSelect

:sub1
	type "%myPath%%hide%.dte">nul 2>nul&& set pwNext=0 ||set pwNext=3
	if %pwNext%==0 set pX=0
	cls&Echo.
	Echo                           ╭────────────╮
	Echo           ╭───────┤    删 除 口 令 保 护   ├───────╮
	Echo           │              ╰────────────╯              │
	Echo           │                                                        │
	Echo           │    * 请输入原口令,本软件已存在保护权限                 │
	Echo           │                                                        │
	Echo           │    * 您还有 [%pX%]次机会                                  │
	Echo           │                                                        │
	Echo           ╰────────────────────────────╯
	if "%pX%"=="0" (
		<nul set/p=-1>"%myPath%%hide%.dte"
		Echo.&Echo             ≠软 件 自 我 保 护 中 , 请明 天 再 试 ≠
		Echo\&Echo             [正在写入操作日志...]
		Pause>nul&Exit
	)
	Echo.&set pInput=
	set /p pInput=             ≡Input≡
	if not defined pInput goto lpStart
	for /f "skip=4 tokens=3" %%i in ('reg query %regRoot% /v %regAB%') do set rP=%%i
	if "%rp%"=="%pInput%" (
		set pX=3
		Echo.&Echo             口令正确.
		del "%myPath%*.*" /q
		set regVal=none 
		call :RegSub %regRoot% %regAB% %regVal%
		pause>nul&goto lpSelect
	)
	set /a pX-=1
	Echo.&Echo             口令错误.&Pause>nul
	goto sub1
:sub2
	cls&Echo.
	Echo                           ╭────────────╮
	Echo           ╭───────┤    设 置 软 件 口 令   ├───────╮
	Echo           │              ╰────────────╯              │
	Echo           │                                                        │
	Echo           │    * 此口令控制本软件的使用权限                        │
	Echo           │                                                        │
	Echo           │    * 一旦设置口令,请务必劳记                           │
	Echo           │                                                        │
	Echo           │    * 请输入新口令   规则:[a~z] 或 [0~9]                │
	Echo           │                                                        │
	Echo           ╰────────────────────────────╯
	Echo.&set pInput=
	echo 	     [一 定 要 劳 记 您 的 密 码]&echo.
	set /p pInput=             ≡Input≡
	if not defined pInput goto lpStart
	pushd "%myPath%"
	set regVal=%pInput%
	call :RegSub %regRoot% %regAB% %regVal%
	<nul set/p="%pInput%">"%myPath%hide.pw"
	cls&Echo.&Echo             设置权限成功,您的口令是:%pInput%
	pause>nul&goto lpSelect
:sub3	
	type "%myPath%%hide%.dte">nul 2>nul&& set pwNext=0 ||set pwNext=5
	if %pwNext%==0 set pX=0
	cls&Echo.
	Echo                           ╭────────────╮
	Echo           ╭───────┤    软 件 通 行 验 证   ├───────╮
	Echo           │              ╰────────────╯              │
	Echo           │                                                        │
	Echo           │    * 本软件已存在保护权限,请与管理员联系.              │
	Echo           │                                                        │
	Echo           │    * 口令安全验证有效次数:%pX%                            │
	Echo           │                                                        │
	Echo           ╰────────────────────────────╯
	if "%pX%"=="0" (
		<nul set/p=-1>"%myPath%%hide%.dte"
		Echo.&Echo             ≠软 件 自 我 保 护 中 , 请明 天 再 试 ≠
		Pause>nul&Exit
	)
	Echo.&set pInput=
	set /p pInput=             ≡Input≡
	if not defined pInput goto sub3
	for /f "skip=4 tokens=3" %%i in ('reg query %regRoot% /v %regAB%') do set rP=%%i
	if "%rp%"=="%pInput%" (
		set pX=5
		Echo.&Echo             口令正确.
		pause>nul&goto lpSelect
	)
	set /a pX-=1
	Echo.&Echo             口令错误.&Pause>nul
	goto sub3
:RegSub
	Echo Windows Registry Editor Version 5.00> "%myPath%clearTmp.reg"
	Echo [%1]>> "%myPath%clearTmp.reg"
	Echo "%2"="%3">> "%myPath%clearTmp.reg"
	Regedit /s "%myPath%clearTmp.reg"
	Del "%myPath%clearTmp.reg" 2>nul
	goto :eof


2009-8-17 06:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
shim
初级用户





积分 85
发帖 73
注册 2007-9-23
状态 离线
『第 15 楼』:  

谢谢楼上的各位同仁,楼上提供的很有参考价值,收下了。不过我的问题也解决了,是以另外一种方式搞定的。都不错。再次谢谢!


2009-10-2 16:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: