В SQL Server 2016 я настроил задание, которое выполняет сценарий powershell, который находится на удаленном сервере приложений.Когда я выполняю скрипт powershell через сервер приложений с помощью приложения Powershell ISE, мой сценарий работает без проблем.Когда я настроил задание и введите эту команду:
powershell.exe -ExecutionPolicy Bypass -file "\\ serverapp1 \ c $ \ coververifier_scripts \ SFTP_CoverageVerifier.ps1" в шаге 1.
КогдаЯ смотрю на ИСТОРИЮ ПРОСМОТРА. Я вижу ошибку ниже, но не могу понять, почему скрипт не может загрузить файл или сборку.
Буду признателен за любую помощь / направление.Вот ошибка:
Сценарий задания обнаружил следующие ошибки.Эти ошибки не остановили сценарий: шаг задания получил ошибку в строке 1 в сценарии PowerShell.Соответствующая строка - "powershell.exe -ExecutionPolicy Bypass -File" \ empqaapp1 \ c $ \ охватverifier_scripts \ SFTP_CoverageVerifier.ps1 "'.Исправьте сценарий и перенесите работу.Информация об ошибке, возвращаемая PowerShell: «Add-Type: не удалось загрузить файл или сборку»
Вот и мой сценарий powershell:
# Load WinSCP .NET assembly
#Add-Type -Path "WinSCPnet.dll"
Add-Type -Path (Join-Path $PSScriptRoot "WinSCPnet.dll")
# Declare variables
$date = Get-Date
$dateStr = $date.ToString("yyyyMMdd")
# Define $filePath
$filePath = "C:\coverageverifier_scripts\TEST_cvgver.20190121.0101"
# Write-Output $filePath
# Set up session options for VERISK TEST/ACCEPTANCE SFTP SERVER
$sessionOptions = New-Object WinSCP.SessionOptions -Property @{
Protocol = [WinSCP.Protocol]::Sftp
HostName = "secureftpa.iso.com"
UserName = "account"
Password = "pw"
SshHostKeyFingerprint = "ssh-rsa 1111 xxx/xxxxxxxxx+3wuWNIkMY5GGgRObJisCPM9c9l7yw="
}
$session = New-Object WinSCP.Session
$session.ExecutablePath = "C:\WinSCP\WinSCP.exe"
try
{
# Connect
$session.Open($sessionOptions)
# Transfer files
$session.PutFiles($filePath,"/").Check()
}
finally
{
$session.Dispose()