繁体   English   中英

尝试从 SQL 查询结果运行 Powershell

[英]Trying to Run Powershell from SQL Query Result

我想看看我们是否可以在 sql db 中存储一个 Powershell 命令或行,并在检索时运行它。 下面是我的代码示例:

$fields = "SELECT fieldName,exception,syntax FROM import_Fields WHERE HRISid='$srcID'"
            $results = Invoke-Sqlcmd -Query $fields -ServerInstance $Global:sqlHost -Database $Global:sqlDB
            $fvalues = ""
            $values = ""
            $ct = $results.count
            Write-Host $ct
            $i = 1
            foreach($field in $results){
                if($i -lt $ct){
                    $fvalues += $field.fieldName+","
                    #Write-Host $field.exception
                    if($field.exception -eq "0"){
                        $name = $field.fieldName
                        $values += "'"+$row.$name+"'"
                    }else{
                        $name = $field.fieldName
                        $exception = $field.syntax
                        $values += "'"+$exception+"'"
                    }
                }else{
                    $fvalues += $field.fieldName
                    $values += "''"
                }
                $i++
            }

在 $values += "'"+$exception+"'" 我想要日期转换的结果 "[DateTime]::ParseExact("+$row.LastHireDate+".Substring(0,10), 'yyyy- MM-dd', [CultureInfo]::GetCultureInfo('en-US'))" 我想要完成并存储在 SQL 数据库中。 可以运行这个命令吗? 我已经通过 Invoke-Command 和 Invoke-Expression 进行了尝试。

我不确定您在 $row.LastHireDate 中传递的值是什么,但是在调用[DateTime]::ParseExact函数时,字符串表示的格式必须与指定的格式完全匹配,否则会引发异常。

以下代码片段可以正常工作。 调整您的脚本以将输入日期格式与ParseExact函数中的第二个参数相匹配,即 yyyy-MM-ddHH:mm:ss

$Command = "[DateTime]::ParseExact('2020-01-0210:10:38', 'yyyy-MM-ddHH:mm:ss', [CultureInfo]::GetCultureInfo('en-US')).tostring('yyyy-MM-dd HH:mm:ss')"
$dt = Invoke-Expression $Command
Write-Host "Output: $($dt.ToString())" 

对您的脚本进行更改,然后再试一次。


如果这对您有用,请不要忘记将此标记为已回答。

最终执行以下操作并使其工作。

$Converted = "[DateTime]::ParseExact('"+$date+"', 'yyyy-MM-ddTHH:mm:sszzz', [CultureInfo]::GetCultureInfo('en-US')).tostring('yyyy-MM-dd HH:mm:ss')"
$dateConverted = Invoke-Expression $Converted

暂无
暂无

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

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