使用回车 returns 将 powershell invoke-command 输出存储到 sql 服务器数据库
storing powershell invoke-command output to sql server database with carriage returns
我正在尝试使用 powershell invoke-command 命令行开关在远程机器上执行批处理命令,并且能够将输出输出到一个变量。但是,当我尝试将其保存到 sql 服务器数据库时,它会将内容存储为不带回车符的段落 returns.
有人可以建议我如何使用回车符 returns 将这些数据保存到数据库中,这样它就会是可读的格式吗?
示例代码:
$output = invoke-command -session $session -ScriptBlock {
echo '<------starting batch------->'
cd 'C:\temp\'
cmd /c 'dir'
cmd /c 'hostname'
echo '<------ending batch------>'
}
$formatted_output = ($output | Out-String) -replace "(.`r`n)", "``r`n"
write-host $formatted_output
示例变量输出:
<------starting batch------->
Volume in drive C has no label.
Volume Serial Number is 0CE1-E926
Directory of C:\temp
06/26/2017 03:17 PM <DIR> .
06/26/2017 03:17 PM <DIR> ..
08/10/2016 09:07 PM <DIR> Clt-Inst
06/07/2016 04:31 PM 56,406,016 splunkforwarder-6.4.1-debde650d26e-x64-release.msi
06/26/2017 02:44 PM 35,922,892 Windows6.0-KB968930-x64.msu
2 File(s) 92,328,908 bytes
3 Dir(s) 418,918,834,176 bytes free
<servername>
<------ending batch------>
注意:控制台中打印的输出确实有 CLRF 字符,但是当我将此变量值与数据库相同时,它保存为 pasragraph。这很难阅读。
But when I'm trying the save it to the sql server database it is
storing the content as a paragraph without carriage returns.
很可能数据已按预期保存,但您正在使用 SSMS 查看数据。确保在 Query-->Options-->Results--Grid 下选择 "Retain CR/LF on copy or save" 选项。
我正在尝试使用 powershell invoke-command 命令行开关在远程机器上执行批处理命令,并且能够将输出输出到一个变量。但是,当我尝试将其保存到 sql 服务器数据库时,它会将内容存储为不带回车符的段落 returns.
有人可以建议我如何使用回车符 returns 将这些数据保存到数据库中,这样它就会是可读的格式吗?
示例代码:
$output = invoke-command -session $session -ScriptBlock {
echo '<------starting batch------->'
cd 'C:\temp\'
cmd /c 'dir'
cmd /c 'hostname'
echo '<------ending batch------>'
}
$formatted_output = ($output | Out-String) -replace "(.`r`n)", "``r`n"
write-host $formatted_output
示例变量输出:
<------starting batch------->
Volume in drive C has no label.
Volume Serial Number is 0CE1-E926
Directory of C:\temp
06/26/2017 03:17 PM <DIR> .
06/26/2017 03:17 PM <DIR> ..
08/10/2016 09:07 PM <DIR> Clt-Inst
06/07/2016 04:31 PM 56,406,016 splunkforwarder-6.4.1-debde650d26e-x64-release.msi
06/26/2017 02:44 PM 35,922,892 Windows6.0-KB968930-x64.msu
2 File(s) 92,328,908 bytes
3 Dir(s) 418,918,834,176 bytes free
<servername>
<------ending batch------>
注意:控制台中打印的输出确实有 CLRF 字符,但是当我将此变量值与数据库相同时,它保存为 pasragraph。这很难阅读。
But when I'm trying the save it to the sql server database it is storing the content as a paragraph without carriage returns.
很可能数据已按预期保存,但您正在使用 SSMS 查看数据。确保在 Query-->Options-->Results--Grid 下选择 "Retain CR/LF on copy or save" 选项。