SQL 2005 サーバー エージェント ジョブの一部として実行される複雑な Powershell スクリプトがあります。スクリプトは問題なく動作しますが、「Start-Transcript $strLogfile -Append」コマンドを使用して、すべてのアクションをトランスクリプト ファイルに記録します。問題は、トランスクリプトが常に空であることです。ヘッダーとフッターを追加して、トランスクリプトの開始と停止を示しますが、実際には何も記録しません。例:
**********************
Windows PowerShell Transcript Start
Start time: 20100304173001
Username : xxxxxxxxxxxx\SYSTEM
Machine : xxxxx-xxx (Microsoft Windows NT 5.2.3790 Service Pack 2)
**********************
**********************
Windows PowerShell Transcript End
End time: 20100304173118
**********************
コマンドプロンプトからスクリプトを実行するか、開始 -> 実行すると、すべて正常に動作します。スクリプトの実行に使用されるコマンドは次のとおりです (SQL エージェント ジョブのオペレーティング システム CmdExec ステップで使用されるコマンドと同じ)。
powershell.exe -File "c:\temp\Backup\backup script.ps1"
最初は、システム アカウント (デフォルトの SQL エージェント アカウント) で実行されているスクリプトに関係があるに違いないと思っていましたが、SQL エージェントを自分の個人アカウントで実行するように変更しようとしても、空白のトランスクリプトが作成されました。
2005 SQL Server エージェント ジョブの一部として PowerShell トランスクリプトを実行するときに、PowerShell トランスクリプトを機能させる方法はありますか?