脚本转发为Outlook 2003

我们有一个销售人员每周四(准备退休),所以每个星期四下午她的电子邮件需要转发给另一个用户,每个星期五下午都需要退款。

我正在使用下面的VBS脚本来执行此操作,通过任务计划程序运行。 虽然脚本似乎是做这件事的,但是根据我在查看用户的Exchange设置时看到的结果,Exchange并不总是认识到设置已经改变。 例如上个星期四转发是启用和正常工作。 上周五,脚本完成了转发,但是Exchange整个周末都继续转发邮件。

我发现我可以强迫Exchange兑现ADUC中用户的属性,只是打开和closures用户的属性。 当然,我不想这样做。 有没有一个非手动的方式,我可以让Exchange读取和兑现设置?

脚本(VBS):

' Call this script with the following parameters: ' ' SrcUser - The logon ID of the suer who's account is to be modified ' DstUser - The logon account of the person to who mail is to be forwarded ' Use "reset" to clear the email forwarding SrcUser = WScript.Arguments.Item(0) DstUser = WScript.Arguments.Item(1) SourceUser = SearchDistinguishedName(SrcUser) 'The user login name Set objUser = GetObject("LDAP://" & SourceUser) If DstUser = "reset" then objUser.PutEx 1, "altRecipient", "" Else ForwardTo = SearchDistinguishedName(DstUser)' The contact common name objUser.Put "AltRecipient", ForwardTo End If objUser.SetInfo Public Function SearchDistinguishedName(ByVal vSAN) Dim oRootDSE, oConnection, oCommand, oRecordSet Set oRootDSE = GetObject("LDAP://rootDSE") Set oConnection = CreateObject("ADODB.Connection") oConnection.Open "Provider=ADsDSOObject;" Set oCommand = CreateObject("ADODB.Command") oCommand.ActiveConnection = oConnection oCommand.CommandText = "<LDAP://" & oRootDSE.get("defaultNamingContext") & ">;(&(objectCategory=User)(samAccountName=" & vSAN & "));distinguishedName;subtree" Set oRecordSet = oCommand.Execute On Error Resume Next SearchDistinguishedName = oRecordSet.Fields("DistinguishedName") On Error GoTo 0 oConnection.Close Set oRecordSet = Nothing Set oCommand = Nothing Set oConnection = Nothing Set oRootDSE = Nothing End Function 

编辑:

如果有人有另一种方式来实现相同的目标(预定转发和取消相同),我接受build议。 这种需求肯定是以前遇到过的。

更新:

出于某种原因,我甚至不会去猜测,而不需要改变脚本系统在一段时间内几乎完全可靠的工作。 在过去的3或4个月里,它只有一次失败。

简单地设置一个共享的“销售”邮箱是不是更容易(和更友好),让所有需要的salesdroids使用它。 它永远不会像简单的redirect一样快,但是不需要脚本或任何东西。 (我们在这里使用很多,允许用户改变angular色,升级,退出等,而不必担心redirect或通知客户新地址等)。

另一种方法(在Exchange中)是一个公共文件夹,只需为所有需要访问的用户(使用Outlook)创build和设置权限,然后指定所需的电子邮件地址[es](在系统pipe理器中将默认为“Foldername @ domainname.com“),那么所有的邮件将会去那里,而不是..有类似/熟悉的委托控制/权限等。如果特定用户需要访问共享日历或邮箱,他们可以将它们设置为”collections夹“。

这样,用户可以自己抓取邮件,将邮件移动到自己的邮箱中,或者在完成邮件时删除邮件等。另外,当您看到Joe Joe Bloggs代表[email protected]时,看起来很专业。 如果是公共文件夹,请转到“维护每用户读取/未读信息”,然后员工可以知道其他人是否已经读取了一条消息。

客户喜欢它,他们得到一个容易记住的地址,他们的消息不会丢失! (这是我认为的巨擘)

像这样的经理,他们可以保持对未决项目的标签,权衡的东西,通常是“经理”.. 😉

我想您可能会发现技术性较差的解决scheme可以满足您的需求。

允许访问4天的周末邮箱给您将要转发他们的邮件的人。

您可以设置用户帐户,以自己的名义,代表或以四天一周的方式发送回复。

当然,您仍然需要确保其他员工检查邮箱,如果这是与销售有关的话,这可能是一个问题。

或者,您也可以使用“离开办公室”将邮件转发给相应的员工。 您的4天可以在每个星期四开门外出。 当她重新login时,系统会提示您将其closures。一旦configuration了“外出”,每次打开Outlook时都将具有相同的configuration。

再次,它需要有人采取手动行动 – 但如果她是那么好,每个星期四离开之前切换离开办公室不难记得(你可以在Outlook中设置一个任务提醒4:周四下午30点)。

在离开办公室的脚本上进行脚本切换也可能更容易,无论用户已经configuration了哪些规则。