首页 > 解决方案 > 将多个命令结果输出到单个 TXT 文件

问题描述

我对 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),下一行应该是命令的结果。对于添加的每个命令,依此类推。

写完上述内容后,我只得到原始文本,文本中没有结果。任何帮助都会很棒。

哈里

标签: powershelltextoutputmultiline

解决方案


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

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

推荐阅读