Board logo

标题: [已解决]请教如何提取用户所在的组? [打印本页]

作者: muya05     时间: 2006-12-24 11:15    标题: [已解决]请教如何提取用户所在的组?

如果用户属于管理员组则显示为administrators;
如果用户属于普通用户组则显示为users;
自己写了一行代码,可是不能运行,哪位大哥给挑挑错,
或者给个新思路也行,3Q!
代码如下(此代码有误!):
for /f %%g "tokens=2 delims=*" in ('net user %username%^|find ^"本地组成员^"') do echo %%g
[ Last edited by muya05 on 2006-12-24 at 07:23 PM ]
作者: namejm     时间: 2006-12-24 11:24

@echo off
net user %username%|find /i "*administrators">nul&&echo administrators||echo users
pause

作者: muya05     时间: 2006-12-24 11:47
RE namejm 大哥
3Q
都怪我提问的时候疏忽,如果只有两个组问题确实解决了,多个用兄的方法也能,
不过有点麻烦,期待更好的方法。
我的系统(WIN 2003 SP1)上的所有用户组:
__VMWARE__
Administrators
Backup Operators
Distributed COM Users
Guests
HelpServicesGroup
Network Configuration Operators
Performance Log Users
Performance Monitor Users
Power Users
Print Operators
Remote Desktop Users
Replicator
TelnetClients
Users
作者: lxmxn     时间: 2006-12-24 12:18

  命令行执行,获取当前登录用户所在的组。
for /f "tokens=2" %a in ('net user %username%^|find "本地"') do @echo %~a

作者: muya05     时间: 2006-12-24 22:40
RE lxmxn 大哥
3Q!
要是能把“*”(星号)去掉就更好了~
作者: ccwan     时间: 2006-12-24 22:57

for /f "tokens=2 delims=*" %a in ('net user %username%^|find "本地"') do @echo %~a

作者: muya05     时间: 2006-12-25 08:18
问题解决了
3Q!
真想知道dos联盟的高人是怎么练成的~~?
致敬!

[ Last edited by muya05 on 2006-12-24 at 07:24 PM ]