如何使用Write-EventLog将用户变更操作记录到系统事件日志中
实现步骤
1. 首次使用前注册事件源(仅需执行1次)
Write-EventLog要求操作前先注册对应的事件源,才能将日志写入指定的日志目录,该操作需要管理员权限,执行以下命令完成注册:
# 这里我们将事件源注册到系统默认的Application日志下,你也可以自定义日志名称 New-EventLog -LogName Application -Source "LocalUserAccountChanges"
你可以根据需求调整Source的取值,后续筛选用户变更相关日志时可以直接通过该源快速过滤。
2. 配合用户操作写入日志的完整示例
以修改用户密码的场景为例,完整代码如下:
# 执行密码修改操作 $NewPassword = ConvertTo-SecureString "new_password" -AsPlainText -Force Set-LocalUser -Name "user_name" -Password $NewPassword # 写入事件日志 Write-EventLog -LogName Application ` -Source "LocalUserAccountChanges" ` -EventId 1002 ` -EntryType Information ` -Message "用户密码修改成功:操作账号 $env:USERNAME,修改的目标账号 user_name,操作时间 $([DateTime]::Now.ToString('yyyy-MM-dd HH:mm:ss'))"
参数说明
EventId:你可以自定义不同操作的ID做区分,比如1001对应新建用户、1002对应修改密码、1003对应删除用户,方便后续分类检索EntryType:操作成功可填Information,操作失败可填ErrorMessage:可根据你的审计需求补充更多字段,比如操作的客户端IP、操作返回结果等
注意事项
写入事件日志的操作也需要以管理员身份运行PowerShell才能执行成功,其他用户变更操作(新建用户、删除用户)只需要调整操作代码,以及对应修改EventId和Message中的操作描述即可复用该逻辑。
内容的提问来源于stack exchange,提问作者user15210314
相关产品推荐
相关产品推荐

