中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 关于NET USER 的问题 上一主题 | 下一主题
mayamason
初级用户





积分 46
发帖 19
注册 2006-9-28
状态 离线
『楼 主』:  关于NET USER 的问题

我想做个BAT去添加本地账号,但是不知道如何在命令行下修改"密码永不过期"的选项.

我的CMD是net user qgp password/add /active:yes /expires:never /passwordchg:no /passw
ordreq:yes


顺便问下如果用IF判断是否存在qgp用户应该如何操作.谢谢了.

2006-10-9 22:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mayamason
初级用户





积分 46
发帖 19
注册 2006-9-28
状态 离线
『第 2 楼』:  

Netuser is a freeware command line / batch program that will rename a user account.

usage: netuser username <settings>

<settings>:

download from here
http://www.jsifaq.com/dl/netuser.zip

     /name:newname
     /pwnexp:{y|n}     sets Password Never Expires

Examples:

netuser Administrator /name:"My Domain Admin"

netuser "John Doe" /name:DoeJ

2006-10-10 00:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 3 楼』:  


1、net user qgp password/add /active:yes /expires:never /passwordchg:no /passwordreq:yes

其中,红色的部分是修改密码永不过期的选项,其值可以是never,也可以指定一个日期,就是到这天就过期了,比如10/10/08。

2、可以用if判断来实现判断是否存在qgp用户是否存在。
@echo off
for /f %%i in ('net user ^| find "qgp"') do (
if not "%%i#"=="#" echo 存在qpg这个用户。& goto :lxm
)
echo 不存在qgp这个用户。
:lxm
pause
但是这个代码有一定的局限行,如果还有一个系统帐户名为qgpabc的用户的话,也会报有这个用户的。


2006-10-10 02:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
weilong888
银牌会员




积分 1270
发帖 548
注册 2004-5-31
状态 离线
『第 4 楼』:  

这个for与if的功能确实强大,不多试几下不能理解透切。

2006-10-10 06:20
查看资料  发送邮件  发短消息 网志  OICQ (314295922)  编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 5 楼』:  

判断帐户是否存在的两段代码:
绝对不会出错的代码:

@echo off
net user qgp >nul 2>nul && echo 存在该用户 || echo 用户不存在.
pause

有一定局限性的代码:

@echo off
set trom=1
for /f "skip=4 tokens=1-3" %%i in ('net user') do (
    if not "%%i"=="" if not "%%i"=="命令成功完成。" if "%%i"=="qgp" echo 用户存在. & set trom=2
    if not "%%j"=="" if "%%j"=="qgp" echo 用户存在. & set trom=2
    if not "%%k"=="" if "%%k"=="qgp" echo 用户存在. & set trom=2
)
if "%trom%"=="1" echo 用户不存在.
pause


2006-10-10 08:37
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 6 楼』:  


pengfei兄的思路果然开阔,第一个 代码中的“net user qgp >nul 2>nul”以及“&&”和"||"使用得相当巧妙,而第二个代码也是一种比较新颖的思路~

学习中——————


2006-10-10 09:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mayamason
初级用户





积分 46
发帖 19
注册 2006-9-28
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by lxmxn at 2006-10-10 02:54:

1、net user qgp password/add /active:yes /expires:never /passwordchg:no /passwordreq:yes

其中,红色的部分是修改密码永不过期的选项,其 ...

更正一下这个EXPIRES是账号的过期时间,而不是密码的过期选项.

2006-10-10 19:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mayamason
初级用户





积分 46
发帖 19
注册 2006-9-28
状态 离线
『第 8 楼』:  

pengfei 兄,能解释下你的第一段代码吗?

2006-10-10 19:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 9 楼』:  

第一段代码很简单, 就是使用net user来列出用户, 如果用户存在就会执行成功, 反之返回2. 利用这一点就能够非常准确地判断用户是否存在了.

而第二段代码的算法是, 列出所有的用户名, 然后判断用户是否存在. 这里有局限性是因为如果用户名有空格就会提示用户不存在.

   此帖被 +1 点积分     点击查看详情   


2006-10-10 23:06
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
mayamason
初级用户





积分 46
发帖 19
注册 2006-9-28
状态 离线
『第 10 楼』:  

pengfei 的解释太经典了

2006-10-11 00:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mayamason
初级用户





积分 46
发帖 19
注册 2006-9-28
状态 离线
『第 11 楼』:  

@echo off
echo Testing your network...
ping www.google.com -n 2 >nul 2>nul && echo Site1 is online || echo Site1 network down

ping www.go12ogle.com -n 2 >nul 2>nul && echo Site2 is online || echo Site2 network down

Pause


大家可以用这个代码去做测试.

2006-10-12 10:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 12 楼』:  



  Quote:
Originally posted by pengfei at 2006-10-10 23:06:
第一段代码很简单, 就是使用net user来列出用户, 如果用户存在就会执行成功, 反之返回2. 利用这一点就能够非常准确地判断用户是否存在了.

而第二栮..


  呵呵,试了一下,不能在CMD下面建立含有空格字符的用户,但是在lusrmgr.msc里面却可以`
  
  看来WIN都做到的事情,在CMD下不一定可以做到哦``


2006-10-14 02:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 13 楼』:  

用户名和用户全称是不一样的




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-10-14 02:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 14 楼』:  



  Quote:
Originally posted by lxmxn at 2006-10-14 02:43:


  呵呵,试了一下,不能在CMD下面建立含有空格字符的用户,但是在lusrmgr.msc里面却可以`
  
  看来WIN都做到的事情,在CMD丠...

不能建立空格的吗?  “”

2006-10-14 04:13
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 15 楼』:  

RE:he200377


  呵呵,多谢提醒,忘记还可以用引号括起来了,看来我还没有做足够多的测试。


2006-10-14 12:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: