2016-05-23 4 views
0

プロファイル名を使用してInteropでOutlookを実行しようとすると、パスワードのダイアログが開きます。このスクリプトは、Windowsタスクスケジューラタスクから実行されています。これらのタスクを実行するときに管理者アカウントを使用していますか?プロファイルが作成され、私の電子メールアカウントがここにロードされた唯一のアカウントです。ダイアログなしでパスワードを入力してOutlookにログイン

Always prompt for login credentialsは、プロファイルに記載されているアカウントではチェックされていません。

これはドメイン内のネットワークコンピュータです。展望2010

プロファイル切り替え(link):

Process.Start("Outlook", "/profile profilename") 
'logs in with a prompt for the password 

は、どのように私はコード内のパスワードを渡すとダイアログを避けることができますか?

はまた、私は私が必要なものを行うマクロを持っていますが、私はとき、プロファイルのロード、それを実行するために取得することができていません。これも同様に問題を解決します。有効になっているマクロは、セキュリティセンターでチェックされます。

おかげ

答えて

0

まず、あなたは別のものを自動化できるようにするには、同じセキュリティコンテキストで両方のアプリケーションを実行する必要があります。

このアプリは、

Microsoftが(を含む任意の無人、非対話型クライアントアプリケーションまたはコンポーネントから、Microsoft Officeアプリケーションのオートメーションを現在推奨していませんし、サポートしていません

Windowsタスクスケジューラから起動されていますASP、ASP.NET、DCOM、およびNTサービス)、Officeがこの環境で実行されると不安定な動作やデッドロックが発生する可能性があるためです。

サーバー側のコンテキストで実行されるソリューションを構築する場合は、無人で実行するために安全にされたコンポーネントを使用するようにしてください。または、コードの少なくとも一部がクライアント側で実行できるようにする代替手段を見つけようとする必要があります。サーバー側のソリューションからOfficeアプリケーションを使用する場合、アプリケーションには正常に実行するために必要な機能が不足しています。さらに、全体的なソリューションの安定性でリスクを冒すことになります。詳細については、Considerations for server-side Automation of Officeの記事をご覧ください。

回避策として、Outlookが基づいている低レベルのAPI、つまり拡張MAPIを使用することを検討することがあります。また、Redemptionなど、そのAPIに関するサードパーティのラッパー

関連する問題