限制Windows用户的并发登录 - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- 限制Windows用户的并发登录 (http://www.webasp.net/article/11/10022.htm) |
| -- 作者:未知 -- 发布日期: 2004-06-10 |
可能就是这篇文章的题目吸引了你,也可能你曾经也有过同样的心愿—管理并限制Windows网络中的用户登录限制。而且你曾经为此一筹莫展,渴望解决Windows网络中因为用户任意登录所导致资源管理,用户管理,安全审核等一系列问题。我在这里(包括下文,有时也会称为并发登录)所提到的任意登录是指同一时间,同一个用户账号在不同的计算机上同时登录的现象,或者说是在一台计算机登录,在完成工作后并未注册但又在另一台计算机上登录的现象,并不是指任何时间,任何地点在一台计算机上登录的现象。如果你曾经管理过Novell网络,后来转换到Windows网络,你会因为Windows没有提供这种机制而对那些不守规矩的用户行为感到无可奈何。因为作为一名Novell管理员非常清楚,限制用户账号的并发登录,仅仅是NDS(Novell Directory Service,Novell目录服务,与Windows 2000中的Active Directory一样,旨在提供一种单点登录,统一资源管理的手段,都是基于X.500标准设计,但NDS的某些方面可能强于Windows 2000的Active Directory,并发登录限制就是一个典型)对象的一个“Check Box”,唯一要做的是Enable或者是Disable。 NTName %USERNAME% >%TEMP%\LOGONEDPC.TXT ;重定向到logonedpc.txt文件 If not errorlevel 1 goto Logon_OK For /f %%f in(‘TYPE %TEMP%\LOGONEDPC.TXT’) do @echo 已经登录到%%f %0..\logout.exe :Logon_OK
![]()
![]()
CLS
AT (1,1)
If @INWIN = 2 ; 表示客户计算机是Windows 95/98
$L = "@LSERVER" + "\" + "NETLOGON" + "\" + "WINSET.EXE"
shell "$L USERNAME=@USERID"
shell "$L HOMEDRIVE=X:" ; 你为用户映射的网络驱动器
shell "$L HOMEPATH=@HOMEDIR"
shell "$L HOMESHARE=@HOMESHR"
shell "$L COMPUTERNAME=@WKSTA"
shell "$L USERDOMAIN=@DOMAIN"
shell "$L LOGONSERVER=@LSERVER"
shell "$L USERPROFILE=@HOMESHR"
shell "$L OS=Windows_98"
setl "USERNAME=@USERID"
setl "HOMEDRIVE=X:"
setl "HOMEPATH=@HOMEDIR"
setl "HOMESHARE=@HOMESHR"
setl "COMPUTERNAME=@WKSTA"
setl "USERDOMAIN=@DOMAIN"
setl "LOGONSERVER=@LSERVER"
setl "USERPROFILE=@HOMESHR"
setl "OS=Windows_98"
endif
If @WKSTA <> "@LSERVER" ; 如果客户的工作站不是这台计算机
settime "@LSERVER" ; 把工作站的时间设置成服务器时间
endif
use X: "@HOMESHR" ;这是Kixtart中自带的Net use命令
$S = "@LSERVER" + "\" + "NETLOGON" + "\" + "users.txt"
IF INGROUP("users") and EXIST("$S")
Display "$S"
AT (23,1) "按任何键继续"
GET $A
endif
$B = "@LSERVER" + "\" + "NETLOGON" + "\" + "LOGBAT.BAT"
shell "$B"
CLS
BIG
$X = 1
DO
COLOR w/n
AT ( $X,$X*2 ) "@USERID"
$X = $X+1
UNTIL $X = 6
COLOR g+/n
AT ( $X,$X*2 ) "@USERID"
sleep 3
AT (23,0)
SMALL
$K=”@LSERVER”+”\”+”NETLOGON”+”\”+Onlyonce.txt”
$J=”x:\”+”@USERID”+”.txt”
if exist(“J$”)
goto done
endif
CLS
Display “$K”
Sleep 3
$RC=shutdown(“”,”正在关闭系统!”,0,1,0)
:done
cookie1 ; 需要通知Windows 98计算机当通过LMSCRIPT时脚本已经运行完毕
exit
|
| webasp.net |