Задача SSIS powershell не будет выполняться из SQL агента или прокси - PullRequest
0 голосов
/ 07 мая 2020

Это было трехдневное усилие, и мой лоб плоский от удара о стол.

Я создаю пакет SSIS, который (частично) будет выполнять сценарий PowerShell, который будет использовать COM (DCOM? ) для преобразования .docx в .pdf. Я использую Visual Studio для своей разработки.

Сценарий преобразования:

#Word2PDF.ps1#
param ($varSrcFileName, $varDestFileName)

    $Word=NEW-OBJECT –COMOBJECT WORD.APPLICATION #-ErrorAction stop
    $Doc=$Word.Documents.Open($varSrcFileName)
    $Doc.saveas([ref] $varDestFileName, [ref] 17)
    $Doc.Close()

Конечно, он отлично работает с прямым Powershell

powershell.exe "C:\scripts\powershell\TestScriptsONLY\Word2PDF.ps1 [path]\test.docx [path]\test.pdf" 

[путь] - это путь UN C, и я предоставил права пользователю SQL Proxy.

Я сократил свою разработку до одной задачи процесса SSIS, где:

Executable = powershell.exe

Arguments = c: \ Scripts \ powershell \ TestScriptsONLY \ Word2PDF.ps1 [путь] \ test.docx [путь] \ test.pdf

Я сохранил и опубликовал его. Когда я выполняю его напрямую (правой кнопкой мыши package.dtsx и выбираю «Выполнить»), он работает нормально. Когда я создаю задание для выполнения пакета, оно указывает, что оно успешно завершено, но не выполняет преобразование. Я попытался запустить задание как с учетной записью агента SQL, так и с учетной записью прокси-сервера - обе не удались. Я добавил учетную запись прокси как пользователь RDS, вошел в систему как этот пользователь и подтвердил то же поведение (он работает непосредственно под прокси-пользователем, но не как задание под прокси-пользователем - я ожидал этого, но должен был подтвердить).

Это должно выполняться на Windows 2012 R2 (64-разрядная версия), с Word 2016 и Powershell V4.0.

Я не программист - я самоучка, повторяя , и много гуглил. Я в основном системный администратор, поэтому разбираюсь в правах и разрешениях. Если есть дополнительная информация, дайте мне знать.

Я пробовал, кажется, миллион различных способов заставить это выполнить, и все из них не удалось. ЛЮБАЯ помощь или направление были бы замечательными.

Спасибо!

...