У меня есть SQL Агентское задание, вызывающее пакет служб SSIS - сценарий Powershell, который ведет себя по-разному в зависимости от того, вошла ли учетная запись службы, выполняющая задание, на удаленном сервере или на сервере.
Симптом
SQL Задание агента выполняется как учетная запись-посредник, связанная с учетной записью службы.
Последующий случай:
Когда учетная запись службы зарегистрирована сервер (удаленный рабочий стол), задание агента SQL успешно выполняется, и сценарий фактически выполняет эту работу.
Проблемный c case:
Однако, когда учетная запись службы отключена от сервера (удаленный рабочий стол), задание агента SQL успешно (без ошибок), но сценарий фактически не завершает задание (или частично запускается, если хотите). В приведенном ниже сценарии копирование завершено, но выгрузка не выполнено.
Сценарий
Сценарий powershell отлично работает при запуске вручную на самом сервере.
Копирует файлы из сетевой диск и затем загрузите их на локальный сервер отчетов Power BI.
Урезанная версия сценария, который воспроизводит проблему, выглядит следующим образом:
#Copying Files
$exe = "robocopy.exe"
$roboflags = "/NFL /NDL /NJH /NJS /nc /ns /np"
$destdir = "e:\import\spfiles"
$srcdir = '"\\xxxxxxxx"'
Remove-Item "e:\import\spfiles\*.*"
& $exe $srcdir $destdir
#Uploading File to the reporting server
$localfile = e:\import\spfiles\test.jpg
$rsfolder ="/Test Folder"
$session = New-RsRestSession -ReportPortalUri http://serverhostname/reports
Write-RsRestCatalogItem -WebSession $session -Path $localfile -RsFolder $rsfolder -Overwrite
Учетная запись службы
Учетная запись службы основана на AD и имеет права администратора на сервере, где выполняется сценарий (для расследования), и имеет разрешения, необходимые для учетной записи службы на контроллере домена. уровень.
- Вход в систему как служба (SeServiceLogonRight)
- Замена токена уровня процесса (SeAssignPrimaryTokenPrivilege)
- Обход обхода (SeChangeNotifyPrivilege)
- Разрешение на запуск SQL Writer
- Разрешение на чтение службы журнала событий
- Разрешение на чтение службы удаленного вызова процедур
Эта служебная учетная запись (и связанная с ней учетная запись-посредник) прекрасно работает с большинством наших SQL связанных с базой данных заданий агента, но эта конкретная работа связана с Reporting Server. Поэтому я предположил, что это может быть связано с сервером отчетов.
Кто-нибудь может посоветовать, как решить эту проблему или даже предложить некоторые элементы действий для дальнейшего изучения?
Мне нужно запустить этот сценарий как запланированное задание без необходимости удаленного входа на сервер. .