繁体   English   中英

SQL 服务器代理作业未调用 Powershell 脚本

[英]SQL Server Agent Job is not invoking Powershell Script

我有 Powershell 将 XLS 文件转换为 CSV 文件的脚本。 如果我手动运行此脚本,它工作正常,但它不适用于 SQL 服务器代理作业。 SQL 服务器代理作业未抛出任何错误,但脚本也未执行任何操作,因为它未将 XLS 文件转换为 CSV。

Powershell脚本代码(Convert2CSV.ps1)

$Dir="C:\Source\TEST\Deployment\ReportOutput"
$Files =Get-Childitem $Dir -filter "*.xls"
foreach ($file in $Files)
{
    $excelFile = "$Dir\"+$File

    $Excel = New-Object -ComObject Excel.Application
    $wb = $Excel.Workbooks.Open($excelFile)

    foreach ($ws in $wb.Worksheets) 
    {
        $ws.SaveAs($excelFile.Replace(".xls","") + ".csv", 6)
    }
    $Excel.Quit()
}

SQL 服务器代理作业步骤在此处输入图像描述

下面是机器上的 Powershell ExecutionPolicy。 Sql服务器和Powershell脚本在同一台机器上在此处输入图像描述

PowerShell 脚本中没有错误处理,因此无论如何您都很难完全调试它。

由于它从 SQL Agent 失败,因此我怀疑它已关闭服务帐户和权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM