1

PowerShell スクリプトで次の単純な行を使用して、PST のバックアップを行う前に Outlook を閉じます。

Get-Process Outlook | %{ $_.CloseMainWindow() } | Out-File -Append -FilePath $LogFile

コマンドラインからは完全に機能しますが、タスクスケジューラ(Windows 7)に入れると、Outlookが閉じられず、コマンドが「False」を返します。

タスクはコマンドラインから同じユーザーとして実行するように設定されており、高い特権で試しました。

誰でもそれについて考えがありますか?

これからもよろしくお願いします、

暴動

編集:状況を明確にするためにOK:

タスク スケジューラでのコマンドは次のとおりです。batch.bat

batch.bat の内容:

...  
powershell script.ps1  
...

script.ps1 の内容:

...  
Get-Process Outlook | %{ $_.CloseMainWindow() } | Out-File -Append -FilePath $LogFile  
...
4

2 に答える 2

0

タスクマネージャーでスクリプトをどのように実行していますか? .ps1 ファイルに入れて、そのように実行しようとしましたか?

于 2013-06-12T16:27:47.180 に答える
0

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.closemainwindow.aspx

終了メッセージが正常に送信された場合はtrue 。関連付けられたプロセスにメイン ウィンドウがない場合、またはメイン ウィンドウが無効になっている場合 (たとえば、モーダル ダイアログが表示されている場合) はfalseです。

Windows イベント ビューアーを起動して、閉じるイベントがルーティングされない、または拒否される理由をデバッグします。

于 2013-08-09T08:39:46.080 に答える