具体操作:操作分三步
1.在本地账号管理器中更改IWAM_MACHINE账号的密码.(即启动IIS进程帐号)//执行成功
2.使用新的密码重设IIS Metabase数据库.(即编辑匿名访问使用的用户帐号)//执行成功
3.同步COM+应用程序账号密码//中间出现了新问题
(一)更改IWAM_MACHINE账号的密码
1、选择“开始”->“程序”->“管理工具”->\"计算机管理\"->\"本地用户和组\"->\"用户\" 选中右面的“IWAM_MACHINE 右键选择\"设置密码\" 这里我们设置成test
(二)使用新的密码重设IIS Metabase数据库.
我们需要使用IIS自带的管理脚本adsutil.运行如下的命令:
c:\\Inetpub\\AdminScripts> adsutil SET w3svc/WAMUserPass test
系统会显示:
WAMUserPass: (String) \"******\"
提示密码更新成功.
(三)同步com+应用程序所用的IWAM_MACHINE的密码
使用组件服务mmc管理单元
(1)启动组件服务管理单元:选择“开始”->“运行”->“mmc”,启动管理控制台,打开“添加/删除管理单元”对话框,将“组件服务”管理单元添加上。
(2)找到“组件服务”->“计算机”->“我的电脑”->“com+应用程序”->“out-of-process pooled applications”,右击“out-of-process pooled applications”->“属性”。 //出现新问题
在COM+应用程序遇到问题,到com+应用程序这一步时,弹出:\"执行最后操作时发生错误,错误代码8004E00F-com+无法与microsoft分布式事务协调程序交谈事件,日志可能包含其他疑难解答信息\"
以下步骤没有执行
(3)切换到“out-of-process pooled applications”属性对话框的“标识”选项卡。选择“此用户”,浏览,选择用户名“IWAM_MACHINE”。这些都是缺省的。在下面的“密码”和“确认密码”文本框内输入正确的密码“test”,确定退出。
(4)系统如果提示“应用程序被一个以上的外部产品创建。你确定要被这些产品支持吗?”时确定即可。
(5)如果我们在iis中将其它一些web的“应用程序保护”设置为“高(的)”,那么这个web所使用的com+应用程序的iwam账号密码也需要同步。
解决新问题过程中网上发现新方法:
“开始”->“设置”->“控制面板”->“管理工具”->“组件服务”中,“控制台根目录”->“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”中,有一个“IIS Out-Of-Process Pooled”鼠标右键“属性”--“标识”--把“下列用户”调整为“交互式用户--目前已登录的用户”。然后“确定”,再鼠标右键“属性”--“启动”。
运行 msdtc -resetlog
启动Distributed Transaction Coordinator服务
(不清楚以上两行是不是解决整个问题的充要条件,但执行了应该没有坏处)