時々、私たちのチームのメンバーが病気で電話をかけ、Exchangeに不在メッセージを設定することを望まない、またはできない場合があります。
過去に行ったことは、そのユーザーのパスワードをリセットし、それをマネージャーに渡して、マネージャーに不在メッセージを設定させることだけです。他の場合には、マネージャーはユーザーのパスワードを含むスプレッドシートを(ITの知識なしで)保持しているため、彼らが私たちに関与する必要はありません。
私たちはもっと良い方法があるはずだと考えています...そして、この問題を抱える最初の組織になることはできません。
この問題を解決する方法は何ですか?
Exchangeシステムマネージャからこれを行う方法はありませんが、自分のメールボックスとプロファイルへのフルアクセスを自分に与えて、そのようにすることができます。その後、パスワードを変更する必要はありません。 Karaが指摘したように、Outlook Web Access(OWA)を有効にしている場合は、プロファイルの代わりにそれを使用できます。
最初にADUC(Active Directoryユーザーとコンピューター)に移動し、ドメインを展開して、ユーザーを見つけ、右側のパネルで、不在の設定に必要なユーザーを見つけます。
それを右クリックし、[Exchangeの詳細設定]タブで[メールボックスの権利]をクリックして、アカウントに読み取りアクセス許可とメールボックスへのフルアクセスの権利があることを確認します。次にOKをクリックします。
その後、コントロールパネルを開き、メールアイコンを見つけてダブルクリックし、[プロファイルの表示]ボタンをクリックして、[追加]ボタンをクリックし、ウィザードに従ってユーザープロファイルを作成します。ユーザーアカウントとパスワードの入力を求められたら、ユーザープロファイル自体ではなく、アカウントとパスワードを入力してください。
私の解決策はこれです:
すべてのメールボックスへのフルメールボックスアクセスを持つユーザーアカウントを作成しました(サーバーのレベルでこれを許可できます)。
次に、これらのアクセス許可で実行する小さなプログラムを作成しましたが、プログラムにアクセスするユーザーがパスワードを必要としないように設定しました。これは、偽装を使用して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>
<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
MAPIを使用してメールサーバーに接続するため、これを実行するWebサーバーにOutlookをインストールする必要があることに注意してください(プロジェクトレベルでMicrosoft CDO Library(MAPI)への参照も必要です)。すべてが1つのExchange組織である限り、どのメールサーバーでもかまいません。Exchangeはアプリを適切なサーバーにリダイレクトします。
Web.configのセクションを使用して、アプリへのアクセスをヘルプデスクとシステム管理者に制限することで、通常のユーザーがアプリケーションにアクセスできないようにすることができます。
これには、Exchange PowerShell Set-MailboxAutoReplyConfiguration を使用できます。
有効にする
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
ドメイン管理者またはExchange管理者としてExchange管理コンソールにログインし、Exchangeサーバーを展開した場合は、[ツールボックス]を選択します。次に、メッセージ追跡をダブルクリックしてWebコンソールを開き、Domain Admin/Exchange Adminとしてログインします。上部で[組織の管理]を選択し、[別のユーザー]を選択します。ユーザーを検索して選択します。ユーザーのプロパティシートが右側に表示されると、「休暇中のユーザーに連絡してください」と表示されます。そこで不在通知を設定できます。他人に詳細を伝えたり、他人のパスワードを知らなくても。
使用しているExchangeのバージョンは言っていませんが、EWSマネージAPIをインストールすると、Exchange 2010およびExchange 2007で powershell script を使用してメッセージを設定できるようになります。現在のところ、これはリリース候補としてのみ利用可能です。
Exchangeを使用して不在に設定できます。私はこれを私たちのユーザーの一人のためにやったところです。私は彼に自分のメールボックスへのアクセス権を与える必要はなく、彼のアカウントを設定したり、Outlookを使用したりする必要もありませんでした。
Desshielsが正しく言うように、これは簡単に行うことができます:
SOP私が働いている場所を説明しましたが、通常は会社の所有者に対してのみ行われますが、彼のpswdはわかっているので変更されません。
彼が戻ったとき、問題の私のひねりは、不在通知をオフに戻すように求められています。
私はもっと良い方法があるべきだと思う。