为其他人设置外出信息

为其他人设置外出信息

有时,我们团队的某个成员会请病假,并且不愿意或无法在 Exchange 中设置他们的外出信息。

我们过去的做法是重置该用户的密码,将其交给他们的经理,并让经理设置外出信息。其他时候,经理会保留包含用户密码的电子表格(IT 部门不知情!),这样他们就根本不需要我们参与。

我们认为一定有更好的方法......而且我们不可能成为第一个遇到此问题的组织。

你们用什么方法解决这个问题?

答案1

没有办法从 Exchange 系统管理器执行此操作,但您可以授予自己对其邮箱和配置文件的完全访问权限,然后按此方式执行。这样您就不必更改密码。正如 Kara 指出的那样,如果您启用了 Outlook Web Access (OWA),则可以使用它而不是配置文件。

请首先进入 ADUC(Active Directory 用户和计算机),展开域,找到用户,在右侧面板中找到需要设置外出办公的用户。

右键点击它,在Exchange 高级选项卡中,点击邮箱权限,确认你的账户有读取权限和完全邮箱访问权限。然后点击确定。

之后,请打开控制面板,找到邮件图标,双击它,单击显示配置文件按钮,单击添加按钮,然后按照向导创建用户配置文件。当提示您输入用户帐户和密码时,请输入您的帐户和密码,而不是用户配置文件本身。

--http://social.technet.microsoft.com/Forums/en-US/...

答案2

我的解决方案是这样的:

我创建了一个对每个邮箱具有完全邮箱访问权限的用户帐户(您可以在服务器级别授予此权限)。

然后我编写了一个使用这些权限运行的小程序,但设置为用户访问该程序不需要密码。这是通过使用模拟在 Web 服务器上运行该程序来实现的。

这是在 VB.NET / WebForms 中。

在 web.config 中:

<identity impersonate="true" userName="domain\username" password="password" />

然后有一个非常简单的 ASP.NET 页面。在 aspx 中,我有以下内容:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="SetOOF._Default" AspCompat="true"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <p>
        Username
        <asp:TextBox ID="txtUsername" runat="server"></asp:TextBox>
        &nbsp;<asp:Button ID="btnGetUser" runat="server" Text="Select" />
       </p>
        <p>
            <asp:Label ID="lblUserName" runat="server"></asp:Label>
       </p>
<p>        <asp:CheckBox ID="chkOofEnabled" runat="server" /> Out of Office on/off
</p>

    </div>
    <p>
        <asp:TextBox ID="txtOofText" runat="server" Height="217px" Width="479px" 
            TextMode="MultiLine"></asp:TextBox>
    </p>
    <p>
        <asp:Button ID="btnUpdateUser" runat="server" Text="Update User" />
    </p>
    </form>
</body>
</html>

在 .vb 文件中,我有

Imports MAPI
Partial Public Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub

    Protected Sub btnGetUser_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnGetUser.Click

        Dim ses As MAPI.Session
        ses = New MAPI.Session
        ses = CreateObject("MAPI.Session")
        ses.Logon(ShowDialog:=False, NoMail:=True, ProfileInfo:="mailserver" & vbLf & txtUsername.Text)
        Dim user As MAPI.AddressEntry = ses.CurrentUser
        lblUserName.Text = user.Name
        chkOofEnabled.Checked = ses.OutOfOffice
        txtOofText.Text = ses.OutOfOfficeText
        ses.Logoff()
    End Sub

    Protected Sub btnUpdateUser_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnUpdateUser.Click
        Dim ses As New MAPI.Session
        ses = CreateObject("MAPI.Session")
        ses.Logon(ShowDialog:=False, NoMail:=True, ProfileInfo:="mailserver" & vbLf & txtUsername.Text)
        ses.OutOfOffice = chkOofEnabled.Checked
        ses.OutOfOfficeText = txtOofText.Text
        ses.Logoff()
    End Sub
End Class

请注意,您需要在运行此应用程序的 Web 服务器上安装 Outlook,因为它使用 MAPI 连接到邮件服务器(您还需要在项目级别引用 Microsoft CDO Library,即 MAPI)。只要你们都属于同一个 Exchange 组织,那么哪个邮件服务器都没关系 - Exchange 会将应用程序重定向到正确的服务器。

您可以使用 web.config 的部分来限制对您的帮助台和系统管理员的应用程序访问,以便普通用户无法自己访问该应用程序。

答案3

您可以使用 Exchange PowerShell设置邮箱自动回复配置为了这:

启用

Set-MailboxAutoReplyConfiguration -Identity tony -AutoReplyState Enabled -InternalMessage "Internal auto-reply message."
-ExternalMessage "External auto-reply message."

已安排

Set-MailboxAutoReplyConfiguration -Identity tony -AutoReplyState Scheduled -StartTime "7/10/2015 08:00:00" -EndTime "7/15/2015 17:00:00" -InternalMessage "Internal auto-reply message"

禁用

Set-MailboxAutoReplyConfiguration -Identity tony -AutoReplyState Disabled

答案4

如果您以域管理员或 Exchange 管理员身份登录 Exchange 管理控制台 - 然后展开 Exchange 服务器,然后选择“工具箱”。然后双击消息跟踪以打开 Web 控制台并以域管理员/Exchange 管理员身份登录。在顶部选择“管理我的组织”,然后选择“其他用户”。搜索并选择用户。当右侧打开用户的属性表时,会出现“告诉人们您正在度假”。您可以在那里设置外出。无需向任何人透露任何其他人的详细信息或知道任何其他人的密码。

相关内容