У меня есть сложный скрипт Powershell, который запускается как часть задания агента SQL 2005 Server. Сценарий работает нормально, но он использует команду «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
**********************
Когда я запускаю скрипт из командной строки или запускаю -> запускаю, все работает просто отлично. Вот команда, используемая для запуска сценария (та же команда, что и на шаге CmdExec операционной системы задания агента SQL)
powershell.exe -File "c:\temp\Backup\backup script.ps1"
Сначала я подумал, что это как-то связано со сценарием, работающим под системной учетной записью (учетная запись агента SQL по умолчанию), но даже когда я попытался изменить агент SQL для запуска под своей личной учетной записью, он все равно создал пустую расшифровку.
Можно ли как-то заставить транскрипты PowerShell работать при их выполнении в рамках задания агента SQL Server 2005?