假设我们有多个 invoke-sqlcmd 语句,如下所示:
invoke-sqlcmd -Query "PRINT 'Hello World 1'" -ServerInstance Server\SQL2017 -Database abc -Verbose
invoke-sqlcmd -Query "PRINT 'Hello World 2'" -ServerInstance Server\SQL2017 -Database abc -Verbose
invoke-sqlcmd -Query "PRINT 'Hello World 3'" -ServerInstance Server\SQL2017 -Database abc -Verbose
我想做以下事情:
- 我想将多个 invoke-sqlcmd 命令的详细输出语句记录到单个日志文件中
- 除了登录日志文件,我们还可以在 powershell 窗口中显示详细输出吗?另外,我们可以通过任何标志来管理它以在 powershell 窗口中显示输出吗?
请建议是否可能。
对于 1,您可以使用PowerShell 重定向运算符。根据Redirectable output streams,steam 4 是您想要的 Verbose Stream。
以上会将您所有的 invoke-sqlcmd 附加到一个日志文件中
"D:\temp\yourlogfile.log"
我不清楚你的问题第 2 部分。
对于第一个问题,我同意@Kin Shah 的上述帖子。对于第二个问题,这意味着如果我们要将详细消息记录到日志文件和 PowerShell 窗口中,那么我们可以使用 tee-object 如下所示: