Powrshell 脚本用于读取 Windows Secutiry 日志并过滤海拔类型 196 和 1937

Powrshell 脚本用于读取 Windows Secutiry 日志并过滤海拔类型 196 和 1937

我有一个 powershell 脚本,可以读取高程类型并在 powershell 窗口中显示内容。但是我需要将内容放入 Excel 文件中。

请帮忙。

分类

$evtLogEntries=$null $WorkDir = “import.csv” $evtEntry=$null

$datetimeAfter=get-date "2016 年 6 月 20 日上午 10:00:00"

$evtLogEntries=$null

$evtLogEntries=Get-EventLog -LogName Security -After $datetimeAfter -EntryType SuccessAudit -Message "已创建新流程*" | Export-Csv SecurityLog.csv

foreach($evtEntry 在 $evtLogEntries 中){

$startIdx=$null

$len=$null

$startIdx=$evtEntry.Message.IndexOf("Subject:")

$len=$evtEntry.Message.IndexOf("Token Elevation Type indicates")–$startIdx

# 写入主机 $evtEntry.Message.substring($startIdx,$len)

switch ( $evtEntry.Message.substring($evtEntry.Message.IndexOf("%%"),6))

{

    "%%1936" { 
    write-host $evtEntry.TimeGenerated 
    write-host $evtEntry.Message.substring($startIdx,$len)
    write-host "`tToken Elevation Type: Type 1 is a full token with no privileges removed or groups disabled.  A full token is only used if User Account Control is disabled or if the user is the built-in Administrator account or a service account."

    }

    "%%1937" { 

    write-host $evtEntry.TimeGenerated
   write-host $evtEntry.Message.substring($startIdx,$len)
   write-host "`tToken Elevation Type: Type 2 is an elevated token with no privileges removed or groups disabled.  An elevated token is used when User Account Control is enabled and the user chooses to start the program using Run as administrator.  An elevated token is also used when an application is configured to always require administrative privilege or to always require maximum privilege, and the user is a member of the Administrators group."

    }



}

} 

#“%%1936”- 令牌提升类型:类型 1 是完整令牌,没有删除任何特权或禁用任何组。仅当用户帐户控制被禁用或用户是内置管理员帐户或服务帐户时,才会使用完整令牌。

# “%%1937” - 令牌提升类型:类型 2 是提升令牌,没有删除任何特权或禁用任何组。当启用用户帐户控制 # 并且用户选择使用以管理员身份运行来启动程序时,将使用提升令牌。当应用程序配置为始终需要管理 # 特权或始终需要最大特权,并且用户是管理员组的成员时,也会使用提升令牌。

#“%%1938”- 令牌提升类型:类型 3 是受限令牌,其中删除了管理权限并禁用了管理组。当启用用户帐户控制、应用程序不需要管理权限且用户未选择使用以管理员身份运行来启动程序时,将使用受限令牌。

答案1

你尝试过这样的事情吗:

Get-EventLog -logname security | Where-Object {($_.eventid -eq 1936) -or ($_.eventid -eq 1937) -or ($_.eventid -eq 1938)} | export-csv -path c:\temp\events

答案2

过滤相关部分

Get-EventLog -logname security | Where-Object {($_.eventid -eq 1936) -or ($_.eventid -eq 1937) -or ($_.eventid -eq 1938)} | select EventID,MachineName,EntryType,Message,InstanceId,TimeGenerated,Timecreated,UserName | fl | export-csv -path C:\logs.csv

相关内容