我正在努力获得一个将值转储到output.xml的powershell命令。首先从用户请求一个值,然后解析该值的应用程序日志,并将结果返回到output.xml。我还想用日期时间戳标记开头,但是还没有能够弄明白。这是我提出的完成解析的方法,我尝试使用其他一些方法:
read-host (Get-Date).tostring("dd-MM-yyyy-hh-mm-ss")
我想我不明白将这部分代码放在哪里以使其正常工作。我的整个脚本看起来像这样。
$value = read-host "Enter your search value"
Get-WinEvent -Logname application -EA silentlycontinue | ?{$_.LevelDisplayName -eq "Error" -or $_.LevelDisplayName -eq "Warning"} | Out-File '$output.xml' -Append
答案 0 :(得分:2)
使用Out-File
也可以写出文件的第一行:
$value = Read-Host "Enter your search value"
"# $(Get-Date -Format 'dd-MM-yyyy-hh-mm-ss')" |Out-File output.log
"# User $($env:USERNAME) supplied the following search term '$value'" |Out-File output.log -Append
Get-WinEvent -Logname application -EA silentlycontinue | ?{$_.LevelDisplayName -eq "Error" -or $_.LevelDisplayName -eq "Warning"} | Out-File output.log -Append
答案 1 :(得分:0)
如果您正在寻找的只是数据的第一行,请改用它。
(Get-Date).tostring("dd-MM-yyyy-hh-mm-ss") | Out-File .\output.xml
如果您在日期之后添加更多行,请不要忘记使用-Append。
答案 2 :(得分:0)
对您的写入方法的简单编辑:
Out-File "$(Get-Date -UFormat '%Y-%m-%d-%H-%M-%S-')$output.xml" -Append