最近使用Exchange开发出现一个奇怪问题,利用Exchange Management的IMailBoxStore.CreateMailBox创建邮箱时,要么提示服务器没有这个对象,要么提示灾难性故障,要不就是Interop.COMException。最奇怪的是按照微软KB里的的Create a Mailbox-Enabled Recipient by Using C# .NET实现,在两台实验机可以正常,而在服务器上一直提示上面错误。重装Windows和Exchange,问题依旧。搞Exchange开发真的会抓狂…… function plogin_onclick() {
var Location="http://exservername/exchange/"+login.name.value; var auth = new ActiveXObject("msxml2.xmlhttp") auth.open("get",Location,false,login.name.value ,login.pwd.value ) auth.send() switch(auth.status){ case 200: window.location.href = Location; break; case 401:? alert("用户无效或密码错误。");? break; default: alert("对不起,服务器发生错误,请稍后再试!"); } } 上面的登录会弹出警告框,提示不安全。一直无法解决,不知道有没有更好的方法?毕竟Exchange的开发资料真的太少了,中文的就更加少了。另外,在登陆后的类似Outlook2003的界面用户嫌太花俏太麻烦,只需要收件箱、发件箱、草稿箱和地址簿。而且当新建邮件时,客户端如果是Office2000,还出现Office2000安装窗口。麻烦……麻烦……。只能自己重新编写邮件收发、联系人操作等等。晕死,那OWA2003浪费了。走在前头的东西用户不是那么快接收,他们需要的就是方便实用。虽然我也明白编个操作邮件联系人的程序,一定不会比OWA好。我弄出来的界面也土得可以简单得有点空荡。我自己看那界面,操作那软件都觉得有点郁闷,但是用户就是喜欢,能接受,奇怪。 2003年12月25日 17:01
|
|
反馈
This is how cross-domain security fundamentally works. It‘s far from a perfect system, but it‘s simple. Since there is no way to specify which pages trust other pages to access their data, Internet Explorer simply says that if two pages are not in the same domain, they cannot communicate. More precisely, Zone Manager (found on the security tab in Internet Settings) does allow the user to say that a page may access another page, but as you point out, most people leave it set on prompt. You can suggest users add the page to the trusted site zone, or merely say Yes to the dialog box. Cross-domain security issues can be quite serious. Whenever you access data sources that are in a different context than your script, there are potential problems. A solution here would be to create a safe ActiveX® control that will perform the tasks you need and lock it down to the intranet site.
我的Exchange2K+sp4在根据winmag及微软网站的教程做在owa里实现更改用户密码时,更改用户密码页面始终打不开,重装系统了N次,后面把更改密码的页面的https改成http,发现里面的For IIS 5.0成了for IIS 6.0,我这可是2K系统那!从哪来IIS6.0???咨询了几位专家,都不知道答案,不知诸位MVP知不知道会是哪的原因?
我的2K只打了sp4,再没打其他补丁。
你调完接口创建邮箱后,可以看看M盘中是否有这个用户的邮箱的文件夹。一般是没有的,要等待。
如果这时候你用这个用户名密码登陆Exchange,会得到意外错误。
那么如何激活呢?除非你立刻动用IE浏览这个用户的OWA访问方式,即浏览http://exchangesrever/exchange/username,经过OWA这么一访问,那边M盘你再看,用户的邮箱文件夹就全都出来了。
以上是我们的体会。没有与微软技术支持沟通过。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeWEB下面的
value name: DisablePassword
Type: REG_DWORD
Data :1
把1改为0,就可以了,在打开owa,点选项进去,就可以看到更改密码了,然后按照以前exchange2000下面的设置方法设置IISADMPWD虚拟目录,应该就可以了:
1、安装CA
2、 安装IIS的Secure Sockets Layer(SSL)安全功能
打开IIS管理器,选择默认WEB站点-->属性-->目录安全性-->安全通信-->服务器证书按钮,会出现"欢迎使用WEB服务器证书向导"的安装界面,然后选"创建一个新证书",然后选"立即发送请求到一个在线证书颁发机构",然后在命名和安全设置中,名称"默认的WEB站点",位长“512“,下一步,组织: test,部门:testdept(组织和部门可以任意输入),站点的功用名称,最好写你的excahnge服务器在外部合法的域名,如"microsoft.com"(此处根据你的实际情况填写),当然如果你只需要在内部网络使用,可以就填该服务器在ad中的名称或者netbios名就行了,下一步地理信息,随便填写,下一步选择证书颁发机构,默认显示为"microsoft.com\newca"(此处是先前输入的一些信息,ex2000是我的EXCHANGE服务器名),下一步,最后完成安装。
3、打开IIS,在默认的WEB站点新建一个虚拟目录:"iisadmpwd"(千万不能错),对应的文件夹是C:\WINNT\SYSTEM32\inetsrv\iisadmpwd,下一步选择读取和运行脚本的权限,最后完成。
4、转到MS-DOS方式
cd \inetpub\AdminScripts
运行命令:"adsutil.vbs set w3svc/passwordchangeflags 0"
5、 IIS默认站点-->Exchange-->右键-->属性-->目录安全性-->匿名访问和验证控制-->编辑-->选择基本验证和集成windows验证,再进入编辑,填写你的基本验证域,就是win2000AD域名称。 (此处输不输入域名都可以)
7.在OWA中选项“更改密码”,出现一个“安全警报”,选“是”,接下来输入域、账户、旧密码、新密码,“OK”即出现“成功改变密码”的页面。
上面都做完,应该可以。如果有什么错误信息,可以贴出来一起讨论看看。
你再看看你的CA证书是否正确。参考下下面KB:
http://support.microsoft.com/?kbid=267596#appliesto
http://support.microsoft.com/default.aspx?scid=kb;EN-US;268419
http://support.microsoft.com/?kbid=327134
实在不行,还真不知道出什么问题了。我这里是win2k3,exchange2k3,按照步骤一试即成功的。
不是没有定义,而是最好禁用。我是这样的:
密码复杂性:禁用。密码长度:0位。
历史密码:无要求。时间限制:可立即更改。
你可以参考http://support.microsoft.com/?id=321582再看看。
Exchange 2003 SDK Documentation and Samples December 2003
http://www.microsoft.com/downloads/details.aspx?FamilyID=183d2522-f0e1-48f9-84c7-2b544616683b&DisplayLang=en
Exchange 2000 and 2003 - All Technical Articles and Books / Updated
http://www.microsoft.com/downloads/details.aspx?FamilyID=5b7d2110-a322-4947-9eaf-3d6a9a99cb42&DisplayLang=en
关于OWA的一系列问题可以看http://www./sresults.aspx?sw=OWA&st=1。
owa 更改密码,弹出框中,填写域名及用户名的地方,出现<%if reqparam RF脚本,更改密码则出现语法错误。
请问如何处理。谢谢。
另外,Cyboy说的iis6,我也遇到过,好像上次出现时,打的sp4+exchange2k sp3.(会不会是sp4的问题?)
为什么不能通过IP访问?????????????????????/
通过http://192.168.1.12/test1.htm以下代码不能执行:原因是没有权限auth.open("get",Location1,false,"test1","test1")
奇怪的是通过http://localhost/test1.htm;http://机器名/test1.htm;都可以正确执行不会出错
test1.htm
<SCRIPT ID=clientEventHandlersJS LANGUAGE=_javascript>
<!--
var Location1="http://192.168.1.111/exchange/test1"; //定义你的exchange 2000 server OWA路径
var auth = new ActiveXObject("msxml2.xmlhttp") ; //创建msxml2.xmlhttp对象
auth.open("get",Location1,false,"test1","test1")
auth.send() ;
switch(auth.status){ //检测auth.send以后的状态,
case 200: //状态为:200代表用户名密码正确,
window.location.href = Location1; //浏览器重转向至exchange 2000 server OWA
break;
case 401: //状态为:401代表用户名密码不正确,身份验证错误
alert("用户无效或密码错误。"); //报错
break;
default: //其它状态,如服务器无法访问
alert(auth.status);
alert("对不起,服务器发生错误,请稍后再试!"); //报错
}
-->
</SCRIPT>
我的组网方式:两台服务器(win2k sp3),一台做web服务器,一台做exchange 2k服务器。
用上述代码编写login.asp,创建虚拟目用http://localhost/login.asp 能实现正常登录。装到web服务器上开始出现“服务器不能创建对象.....”,在下载了msxml3_cn运行后,在web服务器上也实现了正常登录。但在客户端(winxp)却不能,总出现“网上有错误!”不知为何???
希望哪位大哥多多指教,小弟不胜感激,也希望以前有过这个问题已经解决的大哥多多指教
,我非常急,谢谢
我得邮箱是lidongyao@126.com
行:11
字符:3
错误:没有权限
代码:0
mail.htm代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--
function plogin_onclick() {
var Location="http://mail./exchange/"; //定义你的exchange 2000 server OWA路径
var auth = new ActiveXObject("msxml2.xmlhttp") //创建msxml2.xmlhttp对象
auth.open("get",Location,false,login.name.value ,login.pwd.value )
//auth的open方法,用HTML页面里的login form里的name和pwd 以及Location作为参数,具体说明见参考信息(2)
auth.send() //auth的send 方法。
switch(auth.status){ //检测auth.send以后的状态,
case 200: //状态为:200代表用户名密码正确,
window.location.href = Location; //浏览器重转向至exchange 2000 server OWA
break;
case 401: //状态为:401代表用户名密码不正确,身份验证错误
alert("用户无效或密码错误。"); //报错
break;
default: //其它状态,如服务器无法访问
alert("对不起,服务器发生错误,请稍后再试!"); //报错
}
}
//-->
</SCRIPT>
</head>
<body bgcolor="#ffffff" text="#000000" marginwidth="0" marginheight="0">
自定Exchange 2000 OWA的登录界面
<table width="760" border="0" cellspacing="0" cellpadding="0" align="center" height="276">
<tr align="left" valign="top">
<td height="266" align="right" bgcolor="#336699"><br>
</td>
<td width="217" height="278" rowspan="2">
<table width="93%" border="0" cellspacing="0" cellpadding="0" height="90">
<tr>
<td height="29"> </td>
</tr>
<tr>
<td height="98" align="left" valign="top">
<!--定义FORM名称为:login-->
<form name=login method=post>
<table width="200" border="0" cellspacing="0" cellpadding="0" height="91"
align="left" bordercolor="#cccccc" bgcolor="#ffcc00">
<tr bgcolor="#ffcc00">
<td width="60" height="27">
<div align="right">用户名</div>
</td>
<td width="155" height="27">
<!--定义用户名-->
<input name="name" style="WIDTH: 129px; HEIGHT: 22px" size=16 >
</td>
</tr>
<tr bgcolor="#ffcc00">
<td width="45" height="27">
<div align="right" class="text_b">密码 </div>
</td>
<td width="155" height="27">
<!--定义密码-->
<input type=password name="pwd" style="WIDTH: 129px; HEIGHT: 22px" size=16 maxLength=16>
</td>
</tr>
<tr bgcolor="#ffcc00">
<td width="45" height="27"> </td>
<td width="155" height="27">
<!--点击后触发plogin_onclick()脚本-->
<input type="button" name="plogin" value="登录" LANGUAGE=javascript
onclick="return plogin_onclick()">
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</body>
</html>
http://support.microsoft.com/default.aspx?kbid=832414
http://support.microsoft.com/default.aspx?scid=kb;en-us;827614
关于怎么去除警告对话框,请参考我的blog:
http://cnblogs.com/jeseeqing/archive/2004/11/08/61530.html
它上面的邮件是存在硬盘哪个地方的~~~~~
密码必须符合复杂性要求 已禁用
密码长度最小值 没有定义
密码最短使用期限 没有定义
密码最长使用期限 没有定义
强制密码历史 没有定义
用可还原的加密来储存密码 没有定义
但是在OWA修改密码的时候总是提示:
密码太短,或不满足密码唯一性限制.
急待恢复
我们现在问题是这样的,我们现在可以用exchange2000在本单位内收发邮件,但是不可以和上级单位相互发邮件,我们都是用的局域网,且都有固定的ip地址,可以告诉我具体的设置办法,来解决这个问题吗??谢谢!
密码复杂性:禁用;
密码长度:0位;
历史密码:无要求;
间限制:可立即更改。(此策略默认是每次修改需间格24小时,而系统提示则是"密码长度不对或唯一性不足",严重误导用户~)
如果修改后服务器没重启,则需手工刷新策略:
gpupdate
可不可以通过Microsoft OutLook修改Exchangem邮件用户密码呢???(企业内部邮件服务器)
关于internet ip和一个对应的域名请举例说明
应该怎么做啊?
MSN:WZHAOWEI1@HOTMAIL.COM
现在有下列现象:用cdoexm的createmailbox(homedb)给user添加mailbox的时候,domaincontroler上没问题,别的机器上就会报错
[非法操作],这个有遇到过这样问题的马,请指教
大哥,我一切都照做了,
可是,就是做完第5步之后(你没有第6步,嘿嘿),然后我在浏览器里面输入“HTTPS://域名/EXCHANGE/却不能登录邮箱,请问大哥是什么原因呀??
问题出在哪里呀??
如何解决呀???
小弟先行谢过了!!!
按纯朴的狗熊的做的,出现这个页面
Internet 服务管理器
用于 Internet 信息服务器 6.0
错误: 缺少对象
上一步
我这个是本机做的,不敢拿到服务器去做
我服务器上还有一个问题
一开始做的时候没考虑密码的问题,后来嫌密码复杂度太变态了,想改策略却出现下面的错误
未能打开组策略对象。您可能没有合适的权限。
详细信息
找不到网络路径
日志里面是这样的
事件类型: 错误
事件来源: Userenv
事件种类: 无
事件 ID: 1030
日期: 2005-11-30
事件: 17:40:14
用户: NT AUTHORITY\SYSTEM
计算机: OA
描述:
Windows 不能查询组策略对象列表。请查看事件日志,从中寻找策略引擎以前可能记录的描述此原因的消息。
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp">http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
事件类型: 错误
事件来源: MSExchangeSA
事件种类: RFR 接口
事件 ID: 9074
日期: 2005-11-30
事件: 17:42:05
用户: N/A
计算机: OA
描述:
目录服务引用接口未能向客户端请求提供服务。 RFRI 将返回错误代码: [0x3f0]。
有关详细信息,请单击 http://www.microsoft.com/contentredirect.asp。
事件类型: 错误
事件来源: Userenv
事件种类: 无
事件 ID: 1058
日期: 2005-11-30
事件: 17:45:19
用户: NT AUTHORITY\SYSTEM
计算机: OA
描述:
Windows 无法访问 GPO CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=upvi,DC=com 的文件 gpt.ini。此文件必须在 <\\upvi.com\sysvol\upvi.com\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\gpt.ini>。(找不到网络路径。 )。组策略处理中止。
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp">http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
其它信息都正常
第一个问题已解决,
我一开始是这样的https://IP/exchange这样就出错了
后来https://域名/exchange就成功了
第二个问题还没解决,哪位大侠帮解决一下,谢谢