审核成功和失败事件到文件夹

Posted

技术标签:

【中文标题】审核成功和失败事件到文件夹【英文标题】:Auditing Success and Failure event to folder 【发布时间】:2019-01-13 02:36:45 【问题描述】:

我正在使用 PowerShell 将用户添加到审核 Windows 10 中的文件夹。 我正在使用此代码为审核设置“每个人”。 但是我需要为失败制定特殊规则,为成功和失败制定特殊规则,所以我需要将它保存在 2 个不同的行中。 - 喜欢这张照片:

这是我正在使用的代码:

$Folders = "C:\windows\system32\config"

Foreach ($Folder in $Folders) 
    Write-Host "" # Empty line
    Write-Host "Applying Auditing for folder", $Folder
    Write-Host "" # Empty line

    $ACL = Get-Acl $Folder

    # Set Auditing for Success event for above Folders for EVeryone group
    $PermAudited = "CreateFiles"
    $AccessRule = New-Object System.Security.AccessControl.FileSystemAuditRule("Everyone", $PermAudited, "Failure")
    $ACL.SetAuditRule($AccessRule)

    # Set Auditing for Success event for Top folder
    Write-Host $Folder, "for auditing Success event"
    $ACL | Set-Acl $Folder

【问题讨论】:

我在这里没有看到问题。有什么事情没有按您预期的方式工作吗?你有错误吗? 【参考方案1】:

您可以使用System.Security.AccessControl.FileSystemRights 枚举指定这些规则,检查可用规则如下:

[enum]::GetNames([System.Security.AccessControl.FileSystemRights])

基本上,您需要查看FileSystemAuditRule 的构造函数之一,以了解您需要如何设置它,我认为这是正确的:

FileSystemAuditRule(
string identity,
FileSystemRights fileSystemRights,
AuditFlags flags
)

因此,您需要设置RightsAuditFlags,根据您的示例,它应该是这样的:

$Rights = "ReadAndExecute","Modify"
$Flags = "Failure"

$AccessRights = [System.Security.AccessControl.FileSystemRights]$Rights 
$AuditFlags = [System.Security.AccessControl.AuditFlags]$Flags 

然后像这样设置ACL:

$ACL = Get-Acl $Folder
$AccessRule = New-Object System.Security.AccessControl.FileSystemAuditRule("Everyone",$AccessRights, $AuditFlags)
$ACL.SetAuditRule($AccessRule)
Set-Acl -Path $Folder -AclObject $ACL

【讨论】:

以上是关于审核成功和失败事件到文件夹的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 审核事件日志

windows进程创建 事件日志

windows如何查看删除记录

Facebook 应用程序审核失败 - “您的应用程序下载成功,但打开时崩溃”

如果下载失败或成功,我如何测试文件下载并继续下载直到成功?

为啥上传不了文件?