Я искал все интернет и stackOF и решил эту проблему. Я пытаюсь автоматизировать восстановление db с помощью агента SQL Server. Задача агента сервера sql состоит из четырех этапов 3 из которых: tsql и один сценарий powershell.Не удается найти путь Скрипт Powershell для агента SQL Server
Я создал прокси с учетными данными администратора, чтобы сценарий мог запускаться как администратор.
cd c:;
$backuppath="Microsoft.PowerShell.Core\FileSystem::\\sharedcomputer\backup";
$destpath="c:\tmp\";
get-childitem -path $backuppath | where-object { -not $_.PSIsContainer } |
sort-object -Property $_.CreationTime |
select-object -last 1 | copy-item -Destination (join-path $destpath "byte.BAK");
Он копирует файл .bak из исходной общей папки и помещает его в папку tmp на целевой. Всякий раз, когда я запускаю это через обычную Powershell, он отлично работает. Всякий раз, когда я пытаюсь запустить это из агента SQL-сервера, я получаю сообщение об ошибке, указывающее, что он не может найти путь.
Я попытался использовать сетевое использование для передачи учетных данных для общей папки. Я думаю, что это связано с тем, что папка имеет требование для учетных данных.
Я также перешел на совместное использование файлов паролей на исходном сервере, но по какой-то причине, когда я использую Windows Explorer для поиска общего файла, он по-прежнему запрашивает учетные данные. После сохранения и кэширования я могу использовать powershell для cd в этой папке. Но ничего из этого не работает, когда его выполнил из sql-сервера агент
тех же проблемы здесь. Это не похоже на популярный вопрос. : | – Ben