首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用文件系统审计信息

如何使用文件系统审计信息
EN

Server Fault用户
提问于 2018-04-23 08:40:15
回答 1查看 58关注 0票数 1

我们有一个系统,在公司的一些部门使用,我们面临的问题,因为一些错误的配置,在该系统,所以我启用审计文件被写入或删除。

既然我有了这个信息,我该如何使用呢?有什么工具吗?我所需要做的就是列出修改给定文件和修改日期的用户。

我该怎么做呢?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2018-04-23 11:41:41

我找到了一个解决问题的方法(至少以一种非常基本的方式):

代码语言:javascript
复制
$server = "localhost"
$out = New-Object System.Text.StringBuilder 
$out.AppendLine("ServerName,EventID,TimeCreated,UserName,File_or_Folder,AccessMask")
$ns = @{e = "http://schemas.microsoft.com/win/2004/08/events/event"} 
$evts = Get-WinEvent -computer $server -FilterHashtable @{logname="security";id="4663"} -oldest

foreach($evt in $evts) 
{ 
    [xml]$xml = $evt.ToXml()

    $SubjectUserName = Select-Xml -Xml $xml -Namespace $ns -XPath "//e:Data[@Name='SubjectUserName']/text()" | Select-Object -ExpandProperty Node | Select-Object -ExpandProperty Value

    $ObjectName = Select-Xml -Xml $xml -Namespace $ns -XPath "//e:Data[@Name='ObjectName']/text()" | Select-Object -ExpandProperty Node | Select-Object -ExpandProperty Value

    $AccessMask = Select-Xml -Xml $xml -Namespace $ns -XPath "//e:Data[@Name='AccessMask']/text()" | Select-Object -ExpandProperty Node | Select-Object -ExpandProperty Value

    $out.AppendLine("$($server),$($evt.id),$($evt.TimeCreated),$SubjectUserName,$ObjectName,$AccessMask")

    Write-Host $server 
    Write-Host $evt.id,$evt.TimeCreated,$SubjectUserName,$ObjectName,$AccessMask
} 

$out.ToString() | out-file -filepath C:\Temp\4663Events.csv
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/908971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档