将多个命令结果输出到单个TXT文件

时间:2018-06-18 15:25:22

标签: powershell text output multiline

我对Powershell很新,并且制定了一些我需要运行的命令,它将为我提供一个非常简单的系统状态报告。我将在此构建更多命令,以便稍后创建更详细的报告。我有下面的代码似乎写实际的文本,但命令的结果。我想知道是否有人知道如何做到这一点。

$health = {"Sys Techout" 
"==========================" 
"" 
"Run at:" 
date 
"" 
"Command: systeminfo" 
"===================" 
systeminfo 
"" 
"Command: query session" 
"======================" 
query session /counter 
"" 
"Command: query user" 
"===================" 
query user 
"" 

"Command: Listening WinRM port check" 
"=================================" 
netstat -an | findstr LISTENING | findstr :598[56] 
"" }

$health | Out-File -append c:\Systech\Health2.txt -NoClobber

以上代码理想应该执行以下操作

  1. 将结果写入 C:\ Systech \ Helath2.txt 位置的文本文件。
  2. 将内容中的标题设置为Sys Techout
  3. 写下每个子标题(命令:systeminfo)和下一个 line应该是命令的结果。等等 命令添加。
  4. 写完上面的内容后,我只得到原始文本,文本中没有结果。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

你非常接近解决方案。只需将&放在最后一行的开头,即可调用$health中的脚本块,如下所示:

& $health | Out-File -append c:\Systech\Health2.txt -NoClobber