0

设想

我一直在研究谷歌的方法来做到这一点,但我没有找到任何东西,所以我真的希望 SO 可以帮助 SF 的网络管理员。我看到了很多从 Windows 事件日志中导出的方法,以及为自定义编写的应用程序编写事件的方法,但到目前为止还没有任何方法可以获取现有日志文件并将它们“转换”为 eventvwr 条目。

我正在解决一个问题,我需要一种方法来接收基于 Windows Server DHCP 审核日志的通知/警报:http ://technet.microsoft.com/en-us/library/dd759178.aspx

日志被写入 C:\windows\system32\DHCPDhcpSrvLog-Fri等。并自行自动旋转。

我需要来自该日志的信息(特别是向客户端显示新租约的事件 10),并将查询它并将其与 AD 进行比较,然后写入新的 CSV 文件或直接写入新的 eventvwr 条目。

需要什么

结束结果: 这里的最终目标是在未加入 AD 的设备从我们的 DHCP 服务器获得 DHCP 租用地址时接收电子邮件通知。更具体的细节可以在这里找到:https ://serverfault.com/questions/550653/windows-dhcp-server-get-notification-when-a-non-ad-joined-device-gets-an-ip-ad


但是,关于这个特定的问题,我正在寻找的是了解如何获取现有文件 (csv) 并根据其内容编写自定义 Windows 事件日志条目。


我似乎无法找到将现有文件作为输入的方法。我是否必须编写一些内容来解析 DHCP 服务器审核日志并创建包含在类似内容中的各种变量Write-Eventlog?如果 Powershell 是错误的路径,我愿意接受建议。

4

1 回答 1

1

DHCP 服务器日志的构建方式与事件不同,因此您必须解析 csv 文件并手动创建事件。由于这里没有任何真正的问题,我只会提供一个样本让您继续前进(未经测试且不完整):

Import-Csv filename | Where-Object { $_.ID -eq 10  } | ForEach-Object {
    #If you're using quest module for AD management
    if(!(Get-QADComputer -Name $($_."Host Name"))) {
        Write-EventLog ........
    }
}
于 2013-11-04T22:59:18.557 回答