PowerShell PS1 スクリプトをタスクスケジューラで使用する

Exchange 2010 では、メールボックス移動、移行を行う際に、日時指定ができずEMCからは即実行しか行うことができません。。

(Exchange 2007 では可能だったのですが・・・)

 

また、イベントログを抜き出すShellや、もろもろ管理用のスクリプトなどをついでにPowershellに移行して、

タスクスケジューラで実施しようとしました。

 

PowerShellをタスクスケジューラで利用する際に、少し戸惑いましたので備忘録を兼ね、記載しておきます。

(しょぼすぎです。。)

 

以下、Exchange用Power Shell コマンドレットを含むPS1スクリプトを、Windowsタスクスケジューラから実行する際の

設定内容です。

 

1) Exchange管理シェルを起動し、以下のコマンドを入力します。

Get-executionpolicy

実行結果から、”Remotesigned”が返されれば外部のスクリプトが実行可能な状態です。

上記以外の文字列が返される場合は、以下のコマンドレットを使用し、設定を変更します。

Set-ExecutionPolicy RemoteSigned

 

2) タスクスケジューラを開き、[タスクの新規作成]をクリックします。

3) [タスク]の[全般]にて、タスクの実行時に使うアカウントにExchange管理者権限を持つアカウントを設定します。

※この設定箇所にて、真夜中等にタスクを実行させる場合は、「ユーザーがログオンしているかどうかにかかわらず実行する」を有効にします。

これを有効にすることで、ユーザーがログオンしていなくても内部的に実行してくれます。

 

4) 操作タブにて、以下の値を設定します。

プログラム/スクリプト

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

 

引数の追加(オプション)

-PSConsoleFile "D:\Program Files\Microsoft\Exchange Server\V14\Bin\ExShell.psc1" -Command ".’実行したいファイルのフルパス.ps1′"

 

タスクスケジューラはほかにも設定が多々ありますが、今回上記引数で少しつまってしまったので、本ブログではこの設定箇所についてのみ記載します。

その他タスクスケジューラについては、以下のURLを参考いただければと思います。

 

タスク スケジューラの概要

タスク スケジューラの操作方法

タスク スケジューラのトラブルシューティング

About these ads

紹介 shigem0g
Microsoft社製品を中心に活動しているシステムエンジニア。 大阪OBPに生息。会社ではTechという部署に所属しています。 自称ですがExchange、仮想関連(Hyper-V、VDI、APP-V)を得意としてます。 また最近は、SharePoint、Lync等 MS製品と奮闘中。。 家ではフクロモモンガと戯れ中

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

フォロー

新しい投稿をメールで受信しましょう。

%d人のブロガーが「いいね」をつけました。