Powershell,命令行和事件日志

时间:2016-05-23 21:53:31

标签: powershell logging

我们在powershell配置文件中添加了以下内容,以便收集在命令行中输入的内容。

$LogCommandHealthEvent = $true
$LogCommandLifeCycleEvent = $true

但是如何从这里获取信息,我正在寻找在命令行输入到powershell控制台的内容 -

$event = Get-WinEvent -FilterHashtable @{logname=’Windows Powershell'; id=500} -MaxEvents 1
$Event.Message

给了我信息,但我想要的只是最后一行" CommandLine"

Details: 
    NewCommandState=Started

    SequenceNumber=313

    HostName=Windows PowerShell ISE Host
    HostVersion=4.0
    HostId=6fda55e7-4366-4719-ad59-8962eda1521f
    EngineVersion=4.0
    RunspaceId=e82c8130-1c67-4d61-b513-9ac55bc148ba
    PipelineId=52
    CommandName=Get-WinEvent
    CommandType=Cmdlet
    ScriptName=
    CommandPath=
    CommandLine=$event = Get-WinEvent -FilterHashtable @{logname=’Windows Powershell'; id=500} -MaxEvents 1

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

Message属性是一个多行字符串,我会用换行符拆分并选择最后一行:

$Event.Message -split "`r?`n" |Select-Object -Last 1