远程访问域控制器安全事件

Remote Access to Domain Controller Security Events

我想从两个域控制器远程提取安全事件以审核帐户的使用并提供帐户锁定指南。 在 DC 本地,我的 Powershell 工作正常提供 Powershell 运行 具有高权限。 远程添加用于 AD“内置”文件夹安全组“事件日志阅读器”的帐户后,我可以远程访问安全事件以外的事件。但是,像下面这样的一行不适用于安全事件。返回零个事件。

$events = Invoke-Command -ComputerName $dc -Credential $cred -scriptblock {Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4624] and EventData[Data[@Name='TargetUserName']=`'$account`']]"}

感谢提示我如何克服远程提升权限的需要?

您可以将参数 ComputerNameCredential 与 Cmdlet Get-WinEvent 一起使用,并像这样查询事件:

$events = Get-WinEvent -ComputerName $dc -Credential $cred -LogName Security -FilterXPath "*[System[EventID=4624] and EventData[Data[@Name='TargetUserName']=`'$account`']]"

或者 - 如果你坚持 Invoke-Command 你必须在 ScriptBlock 中使用 $using:account 而不是 $account (就像@Mathias 在评论中说的那样)将该局部变量发送到远程主机

$events = Invoke-Command -ComputerName $dc -Credential $cred -scriptblock {Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4624] and EventData[Data[@Name='TargetUserName']=`'$using:account`']]"}