私は現在、powershell スクリプトを自動化して小さな DB のダンプを作成する作業を行っています。データベースは会社のSharepointからアクセスでき、SharepointからエクスポートされたIQYファイルを利用してデータベースの内容を読み取っています。スクリプトを手動で実行すると (つまり、コマンド ラインから呼び出して)、問題なく動作しますが、タスク スケジューラからスクリプトを開始しようとすると、次の例外が発生します。
System.Reflection.TargetInvocationException
例外を生成している行は次のとおりです。
$iqy = $xl.Workbooks.Open($query, 2, $true)
$xl は正しく作成された新しい Excel.Application ComObject であり、$query は iqy ファイルの完全なファイル パスを含む文字列です。
私の構成に関しては、Sharepoint へのアクセスも許可されているローカル管理者ユーザー (スケジュールされたスクリプトを起動することになっているのと同じユーザー) を使用して、Windows Server 2008R2 でスクリプトを実行しようとしています。Powershell 3.0 を実行しています。SharePoint 関連のスナップインをロードしていません。
私が見つけた唯一の答えは、IQYファイルの場所とExcelのSharepoint自体に「信頼」を与えることを示唆していました. それは助けにはなりませんでした。例外も共有ポイントの問題を示しているようですが、手動で開始するとスクリプトが正常に実行されるため、共有ポイントと関係があるのか 理解できません。タスク スケジューラの複雑さが欠けていますか?
どんな助けでも大歓迎です。