首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

操作系统

Vista | Windows 9X | Windows Server | Linux&Uinx | FreeBSD | 其它操作系统 |
首页 > 操作系统 > Windows Server > 限制Windows用户的并发登录 > 正文

限制Windows用户的并发登录

出处:Winmag社区 作者:陈流浩 时间:2004-1-7 19:24:00
简单三步解决企业垃圾邮件难题

   可能就是这篇文章的题目吸引了你,也可能你曾经也有过同样的心愿—管理并限制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。
    用户账号在同一时间内并发登录,所产生的最大问题还是与内部或者外部网络的安全相关。例如,你是一个网络的管理员,你为自己创建了一个登录账号,因为平时管理工作的需要,你给这个账号添加了足够的权限,而且你坚信:我的网络是安全的,我的同事也是相互尊重,不会利用别人的账号作任何事情的。为了自己方便记忆(或者说登录时输入简单),你设置了一个很容易记忆(比如,123456或者与你的用户名相同),但就是因为Windows网络没有并发登录限制机制,那些对网络特权账户充满好奇心(因为他知道有特权可以做很多事情),或者平时对你稍有不满的用户试图利用你的账号做什么事情(因为你设置的密码简单,容易被猜到,而且你还相信他们不会做什么),你都无法知道,这尤如恶梦一般。那怕你设置了安全审核,但审核结果还是你自己的登录账号,这显然是Windows没有并发登录限制所导致的问题。
    直到现在的Windows 2000为止,Microsoft都没有在系统中内置限制用户并发登录的机制(如果你已经预览过Windows Server 2003,你会发现它也没有这种机制)。当然,Microsoft并不是没有倾听用户的心声,因此,Microsoft在他的Windows 2000 Resource Kit中提供了一个程序来实现这种功能,试图来掩盖普天之下众多Windows管理员的谴责声。显然,Microsoft在这方面已经向前迈进了一大步,通过本文你会了解到,到目前为止,Microsoft究竟提供了一个怎么样的解决方案,这个解决方案是否已经一呼百应,实现了Window管理员多年来的夙愿,当然包括我。首先,我们来回顾一下在没有Microsoft自己的解决方案之前,我们Windows管理员自己是如何尝试着解决这个问题的。
    一、脚本程序
    作为一名Windows管理员,想必你肯定知道脚本在日常管理工作中的重要性,比如,批量创建用户。而且我们还知道,利用脚本可以为用户创建登录脚本,在登录脚本中,你可以为用户映射网络驱动器,连接打印机等等。聪明的Windows管理员就是利用脚本第一次实现了并发登录限制,让我们一起看看是如何实现的。
    使用Kixtart脚本处理器制作如下的一个脚本程序。Kixtart是一个可以运行在Windows各个版本上增强的脚本处理引擎。如果你要测试文章中的脚本程序,你需要安装Kixtart程序。有关Kixtart的详细信息,可以访问http://kixtart.org/站点。与Kixtart配合使用的部分程序,请到对应的操作系统安装盘中相应的support目录或者Resource中查找。
    注意,脚本程序中的Onlyonce.txt是保存在Netlogon共享目录中,它一般包括一些警告与说明信息,可以任意定义。
    这个脚本看起来有点复杂。但是,它工作得很好。除了程序本身,管理员还需要做二项工作。首先,为每个用户的主目录(Home Directory)创建一个隐藏共享,指定只有这个用户可以访问并且仅允许一个用户访问(这个很重要)。其次,在用户主目录中创建一个%username%.txt文件,并且指定仅对这个用户具有读取权限。
    从上面简单的解释中大家应该已经猜到脚本实现的原理,非常简单:限制主目录仅允许一个用户访问,如果同一个用户在没有注销的前提下尝试登录,映射网络驱动器将失败,系统显示Onlyonce.txt中的内容,然后调用shutdown防止用户登录。
    我想精明的读者已经发现NTName/NTName2正常运行时会受到的威胁—主目录的服务器关闭时,用户将可以任何登录,你再也无法阻止他们的这种行为。另一个缺陷就是当另一个用户故意或者偶然地连接到其他用户的主目录,在他不离开(尽管拒绝他访问,但已经连接)的情况下,主目录的所有者将不能登录(因为已经设置同时仅限一个用户连接)。
    二、一个更简单的手段
    Windows管理员们在不断地寻找更好的解决方案。所有的努力并没有白白浪费,终于有了更好的选择。NTName—一个Windows NT网络中限制用户账号并发登录的实用程序,我们可能不记得是由哪位Windows管理员编写的,但我们肯定可以发现这个比前面的脚本程序有很大的进步。与NTName程序配套使用的是Logout程序,一个强制注销的程序。让我们粗略地看一下NTName的实现。
    当你登录到NT网络时,计算机会添加一个由你的用户名组成的NetBIOS名字,名字是唯一的,因此同一时间内它只能存在于一台计算机上,在计算机中的Byte 16值等于0x03,这个名字用来在网络中广播信息,比如,假设你已经要求打印作业完成后显示消息,Windows网络就根据你登录时产生的NetBIOS名字决定你当前登录的计算机,并显示已经完成的消息(你可以测试,假如你并发登录20个用户,只会有一台计算机接到这个消息。)。NTName就是根据这个原理来实现的,在程序运行时,它把用户名作为一个参数处理,检查这个名字是否属于当前计算机所有。如果没有任何输出,就返回ErrorLevel 0。如果输入了名字所属的系统名称,返回ErrorLevel 1,这往往意味着指定的用户名已经在另一台计算机中登录,当然你可以要求另一台计算机注销。为此,你可以在用户的登录脚本中添加以下几行:

NTName %USERNAME% >%TEMP%\LOGONEDPC.TXT ;重定向到logonedpc.txt文件If not errorlevel 1 goto Logon_OKFor /f %%f in(‘TYPE %TEMP%\LOGONEDPC.TXT’) do @echo 已经登录到%%f %0..\logout.exe:Logon_OK

CLSAT (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"endifIf @WKSTA <> "@LSERVER"      ; 如果客户的工作站不是这台计算机    settime "@LSERVER"      ; 把工作站的时间设置成服务器时间endifuse X: "@HOMESHR"      ;这是Kixtart中自带的Net use命令$S = "@LSERVER" + "\" + "NETLOGON" + "\" + "users.txt"IF INGROUP("users") and EXIST("$S")    Display "$S"    AT (23,1) "按任何键继续"    GET $Aendif$B = "@LSERVER" + "\" + "NETLOGON" + "\" + "LOGBAT.BAT"shell "$B"     CLSBIG$X = 1DO    COLOR w/n    AT ( $X,$X*2 ) "@USERID"    $X = $X+1    UNTIL $X = 6COLOR g+/nAT ( $X,$X*2 ) "@USERID"sleep 3AT (23,0)SMALL$K=”@LSERVER”+”\”+”NETLOGON”+”\”+Onlyonce.txt”$J=”x:\”+”@USERID”+”.txt”if exist(“J$”)goto doneendifCLSDisplay “$K”Sleep 3$RC=shutdown(“”,”正在关闭系统!”,0,1,0):donecookie1 ; 需要通知Windows 98计算机当通过LMSCRIPT时脚本已经运行完毕exit
相关文章 热门文章
  • 微软同时开发三款OS 不会抛弃现有Windows
  • How to Add an SPF Record in Windows 2000 and Windows 2003 DNS
  • 日志中的秘密:Windows登录类型知多少?
  • Exchange 2000/2003邮箱容量限制导致的无法移动邮箱
  • 在 Outlook 2000 里为何不能取消“对已读回执的请求的使用”?
  • Windows市场份额高达92% Mac OS创历史新高
  • F1~F12在Windows系统中的作用
  • 解决 Outlook 2000 中的地址导入问题
  • 清除Windows右键菜单中的软件信息
  • 建立windows下版本控制服务器
  • Windows自动启动程序十大藏身之处
  • Windows 批处理大全(附各种实例)
  • “http 500内部服务器错误”的解决方法
  • 利用Windows 2000 Server的RRAS实现VPN服务器
  • 用凤凰万能启动盘解决本地/域管理员密码丢失
  • Win2003 Server企业版安装配置
  • Active directory 灾难恢复
  • Windows 2000/03域和活动目录
  • 如何在vmware4上创建windows 2003群集
  • MSI文件制作全过程
  • Win2000命令全集(一)
  • Windows 2000/AD技巧
  • 此系统的本地策略不允许您采用交互式登录解决方法
  • Win2000路由的安装与设置实现不同网段互通
  • 自由广告区
     
     
    eqmail
    最新软件下载
  • ORF Enterprise Edition 4.2 正式版
  • WinWebMail 3.7.7.3 标准版
  • WinWebMail 3.7.7.3 企业版
  • BMail祺邮
  • Merak Email Server for Windows 9.3.1..
  • Merak Email Server for Linux 9.3.1 ..
  • Merak Email Server 9.3.1 For Windwos..
  • AXIGEN Mail Server 6.1.1 for Windows
  • AXIGEN Mail Server 6.1.0 for Linux
  • ADModify.NET下载
  • symantec10.1基本安装及配置视频教程
  • Backup Exec System Recovery之备份视..
  • 今日邮件技术文章
  • 盈世反垃圾邮件技术助力教育行业信息..
  • 黄金周服务业网络管理解决方案全攻略
  • 中国网民将可用中文地址收发邮件
  • 人们通过E-mail比写书信更容易撒谎
  • Email母语化标准出台 网民可用中文地..
  • 福布斯评出黑莓Outlook等七大令人痛苦..
  • 从QQ邮箱看腾讯转型的尝试
  • 解决Exchange中服务器不能发送信息问题
  • IAB公布电子邮件数据管理最佳实践
  • 市人大回复“退邮”事件 承诺扩大邮箱..
  • 如何评估你Exchange邮箱服务器的可用性
  • 云安全6大杀手锏详解
  • 最新专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • 移动电子邮件专题
  • Apache James 专题
  • IMail Server 操作指南
  • ISA Server 2004 使用专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2007 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号