|
实用技巧
利用VB组件实现WEB方式下对NT域用户口令的修改
山东莱芜钢铁集团公司
自动化部信息中心
吴强
----
[本文为摘略,全文可下载,Zip 12KB]
----
近几年来,计算机网络技术得到迅猛发展。Windows NT网络操作系统以其可管理性、可用性和丰富的应用软件赢得了越来越多的用户。虽然NT的用户管理非常容易,也有其局限性。例如UNIX下利用Telnet远程修改用户口令非常简单,但是NT就没有这么容易。我们利用NT建立了代理服务器、邮件服务器,管理用户口令自然也遇到了这个问题。本文中我们要创建的是一个在浏览器里管理NT域用户的程序,解决了这个难题。
----
1、 应用实现的环境:
----
服务器:应用创建工具:客户:
... ...
----
2、 利用创建ActiveX DLL 组件。
... ...
' 定义 MTS对象上下文变量
Dim objCtx As ObjectContext
' 定义 IIS对象
' PDC事务日志API
... ...
' 常量
... ...
' 引用MTS对象
... ...
' 释放事务
Call ReleaseObjectReferences
End Sub
----
(10)添加一个函数取得系统的真实域控制器名:
... ...
----
(11)添加一个过程向PDC的应用程序日志加一个记录:
... ...
----
(12)新增一个过程,构造了一个警告框,注意他是在浏览器端被显示的,我们用了jscript,因为他是浏览器无关的:
... ...
----
(13)过程 GetObjectReferences 产生一个对MTS的引用,要使用MTS功能,就必须引用他:
Private Sub GetObjectReferences()
... ...
----
(14)释放对象:
... ...
----
(15)在上面的代码全部完成后,生成aciChangPassword.dll文件。
----
3、 在服务器上安装组件
----
首先拷贝aciChangPassword.dll到NT服务器的 \winnt\system32 目录中。打开MTS Explorer, 双击“我的计算机”,右击“安装的软件包”,选“新” - > “软件包”,接下来的对话框,选“创建一个空的软件包”, 给包名命为 aciChangePassword ,单击下一步,指定运行包的帐号,使用管理员帐号即可。
----
双击刚才创建的包,展开,右击“组件”,选.“新”-- >“组件”,安装新的组件。添加文件,浏览,选中刚才拷贝的文件 aciChangePassword.dll (\winnt\system32) ,确认。选中复选框“详细资料”,查看下面的列表框,应当看到组件名。确认后,修改属性,事务里选择“需要一个事务处理”。
----
直此,组件安装完成。
----
4、 创建ASP页面(setpass.asp)
... ...
----
5、 创建HTML文件(change.htm)
... ...
----
6、 最后的测试
----
在浏览器中打开change.htm文件。表单包括四个文本框:用户名,旧口令,新口令,确认口令。当按下更改按钮后, ASP文件取得这四个参数,创建对象,引用setpass过程,修改口令。成功后系统会立即修改NT域用户的口令,并且提示。若用户名和旧口令不能登录,则拒绝修改。
----
无论修改是否成功,都向NT服务器报告一个事件。可以打开事件查看器检查。
|