Outlook 2003 的腳本轉發
我們有一名銷售人員每週工作 4 天(準備退休),因此每個星期四下午需要將她的電子郵件轉發給另一個使用者,每個星期五下午需要將其退回。
我正在使用下面的 VBS 腳本來執行此操作,通過任務計劃程序執行。儘管該腳本似乎可以完成它的工作,但根據我在查看使用者的 Exchange 設置時看到的內容,Exchange 並不總是能辨識出設置已更改。例如,上週四轉發已啟用並且工作正常。週五,腳本清除了轉發,但 Exchange 整個週末都在繼續轉發消息。
我發現我可以強制 Exchange 遵守更改的設置,只需打開和關閉 ADUC 中的使用者屬性。當然,我不想這樣做。有沒有一種非手動方式可以讓 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
編輯:
如果有人有另一種方法來實現相同的目標(預定轉發和取消相同的目標),我願意接受建議。當然,這種需求之前已經遇到並滿足了。
更新:
由於某些原因,我什至不會嘗試猜測,在不更改任何內容的情況下,腳本系統已經工作了一段時間,幾乎完全可靠。在過去的 3 或 4 個月裡,它只失敗過一次。
簡單地設置一個共享的“銷售”郵箱不是更容易(更友好)嗎,讓所有需要的銷售機器人使用它。它永遠不會像簡單的重定向那樣快,但是不需要編寫腳本或任何東西。(我們在這裡使用了很多,允許使用者更改角色、升職、退出等,而不必擔心重定向或通知客戶新地址等)。
另一種選擇(在 Exchange 中)是公用文件夾,只需為所有需要訪問權限的人創建和設置權限(使用 Outlook),然後分配電子郵件地址
$$ es $$您需要(在系統管理器中,將預設為“Foldername@domainname.com”),然後所有郵件都將轉到那裡。具有類似/熟悉的委派控制/權限等。如果特定使用者需要訪問共享日曆或郵箱,他們可以將它們設置為“收藏夾”。 這樣,使用者可以自己“抓取”消息,將它們移動到自己的郵箱中,或者在完成後刪除它們等。此外,當您看到:Joe Bloggs on Behalf of Sales@company.com 時,看起來很專業。如果它是公用文件夾,請打開“維護每個使用者的已讀/未讀資訊..”,然後工作人員可以判斷消息何時已被其他人閱讀。
客戶喜歡它,他們得到一個容易記住的地址,而且他們的資訊不會失去!(這是我認為的大問題)
經理們喜歡它,他們可以密切關注未清項目,權衡事情,通常是“經理”.. ;-)