我正在尝试从远程 Windows 机器(Windows Server 2008R2 和 Windows 7)收集日志,但我无法找到一种方法来做到这一点,即即使没有远程机器的管理员权限,我仍然能够完成此操作。
- 那可能吗?
- 我目前正在使用 PowerShell 中的 Get-EventLog cmdlet。如果我是远程计算机的管理员,我可以获取日志。
- 所有机器都在一个域内。
- 使用 PowerShell3。
如果您需要更多详细信息,请告诉我。
答案1
您可以在 Windows Server 2008 和 Windows 7 中转发日志事件。这可能是更好的解决方法。您可以设置机器以将事件转发到中央收集器,然后配置一个中央点来收集事件日志。MS 的更多信息可在此处找到。 http://technet.microsoft.com/en-us/library/cc748890.aspx
集中收集日志的好处是,您可以根据需要使用 powershell 在收集器上本地处理日志。
我认为,如果没有管理员权限,您将很难远程提取事件日志。但也许其他人有更好的选择?也许 SNMP 服务可能允许只读公共访问?
答案2
创建一个服务帐户来运行此过程,并将其放置在您要收集的所有目标上的本地“事件日志读取器”组中。您甚至可以使用 GPO 添加此帐户(计算机配置/策略/Windows 设置/安全设置/受限组)
解决此安全问题后,这个问题可能会朝其他很多方向发展。有许多第三方工具可用于跨企业收集日志(Arcsight、Splunk 等),或者您可以选择使用 powershell 自行处理。