簡體   English   中英

無法在 SQL 服務器代理作業步驟中運行 Powershell 命令

[英]Can't run a Powershell command in a SQL Server Agent Job Step

我嘗試使用“Powershell”選項和命令(均無效):

Get-Item "*.csv" | Out-File "d:\tracking\$(get-date -f yyyyMMdd-hhmmss).txt"

"Get-Item """*.csv""" | Out-File """d:\tracking\$(get-date -f yyyyMMdd-hhmmss).txt""""

並嘗試使用“CmdExec”選項和命令(它不起作用):

powershell.exe -Command "Get-Item """*.csv""" | Out-File """d:\tracking\$(get-date -f yyyyMMdd-hhmmss).txt""""

但最后一個命令在單獨的 cmd.exe window 上運行正常,以下命令在 powershell 中也運行正常:

Get-Item "*.csv" | Out-File "d:\tracking\$(get-date -f yyyyMMdd-hhmmss).txt"

他們創建一個文本文件,例如。 “20220607-112233.txt”包含 CSV 個文件的目錄列表

但是我無法在作業步驟中使用此命令該步驟以“無法運行。語法錯誤”結束

好的,我找到了解決方案:

我用塊 2 中的代碼創建了一個批處理(.bat 文件):

powershell.exe -Command "Get-Item """*.csv""" | Out-File """d:\tracking\$(get-date -f yyyyMMdd-HHmmss).txt""""

(我只將 hh 更改為 HH,基於 24 小時的時間)

然后,我將作業步驟配置為運行 bat 文件(設置選項“cmdExec”)

就這樣

我不知道發生了什么,目錄權限沒問題,如果我用xp_cmdshell執行上面代碼塊 #2 的命令甚至可以工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM