PowerShell でメールチェック。 <後編>

書き忘れていましたが、前回紹介したスクリプトは「受信トレイ」だけを検索します。

他のフォルダ(受信トレイ配下に新規作成したフォルダを含む)にあるメールは見つけられません。

 





   




   

 

なお、検索対象フォルダとして「受信トレイ」を指定しているのは「$FL = $NS.GetDefaultFolder(6)」です。

最後の「6」という引数が、受信トレイを示しています。

その他のフォルダを示す引数は、三流君VBAでOutlookを操作するに載っています。

全てを確認したわけではありませんが、削除済みアイテムが「3」、迷惑メールが「23」、予定表が「9」というのは間違い無いようです。

 

 

また、検索対象期間を「24時間以内」に指定しているのは「$YD = $NW.AddDays(-1)」です。

ここでは日数で表記していますが、AddHours メソッドで時間による指定が、AddMonths メソッドで月数による指定が可能です。

 

 

 

さて本題に入ります。

検索対象フォルダに、検索条件に合致する何らかのアイテム(メールや予定など)が一つでも存在する場合は、アクセス許可を求める警告がポップアップされることがあります。

これは、アンチウイルスソフトが無い環境などで、Outlook 以外のアプリケーション(この場合は PowerShell)が Outlook のアイテムにアクセスした際のデフォルトの動作です。

 

 

このポップアップを表示させないようにするためには、管理者権限による設定変更が必要なのですが、これが一筋縄ではいきません。

管理者としてログオンしていても、普通に Outlook を起動しただけでは「管理者として実行」したことにならないので、後述の設定画面がグレーアウトして変更できません。

スタートメニューの「プログラムとファイルの検索」で「outlook.exe」を検索し、検索結果の「outlook」を右クリックして「管理者として実行」を選択することで、やっと管理者権限で Outlook を起動できます。

 

 

Outlook 起動後の設定変更手順は以下の通りです。

(1) ウィンドウ左上の「ファイル」タブを選択します。

(2) 左ペイン下部の「オプション」を選択します。

(3) 左ペイン下部の「セキュリティセンター」を選択します。

(4) 右ペイン下部の「セキュリティセンターの設定」を選択します。

(5) 左ペイン下部の「プログラムによるアクセス」を選択します。

(6) 「プログラムによるアクセスのセキュリティ」において、「不審な動作に関する警告を表示しない(推奨しません)」を選択します。

(7) 「OK」ボタンでウィンドウを閉じ、Outlook も終了します。

 

 

おわり