问题标签 [get-eventlog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powershell - Powershell Get-EventLog -newest 很快,但 -after (get-date) 不起作用或太慢
我正在尝试用 get-eventlog 做一些事情,但这不像我想要的那样工作或者不够快
如果我替换-newest 100
为(Get-Date).AddHours(-10)
它需要很长时间才能回答,或者根本没有。
有人可以帮助我改善这一点。我不能使用 get-winevent,因为我想查询 2003 服务器
powershell - Get-EventLog - 某些事件日志源缺少有效消息
我正在使用 get-eventlog 提取和过滤系统事件日志数据。我发现 get-event 日志无法正确返回与某些条目关联的消息。这些条目通常出现在事件日志查看器中。例如
返回 8 个条目,所有条目都有以下形式的消息:
如果我过滤同一源的系统事件日志,我可以清楚地看到完整的消息。例如
我运行以下命令来查看是否有任何其他提供者无法返回有效的事件消息:
我检查了事件日志查看器以找到 DCOM、WinRM 和 Iphlpsvc 源的相应条目,并确认可以看到正确的消息。
我已经在管理员级别的 PowerShell 控制台中运行了测试脚本。
有任何想法吗?
编辑:进一步的研究表明 PsLogList 似乎也遇到了同样的问题,而 WEVTUTIL 没有。
编辑:根据 Windos 的建议,我尝试了 get-winevent。我之前尝试过这个,发现它根本不会返回任何消息数据。我再次尝试并发现相同的结果。然后我尝试了
这产生了以下错误
稍微搜索一下,我就找到了“ https://p0w3rsh3ll.wordpress.com/2013/12/13/why-does-my-get-winevent-command-fail/ ”,他们也遇到了同样的错误消息。他认为这是由于地区环境造成的。我在澳大利亚,所以我在控制面板中的“格式”设置是“英语(澳大利亚)”。我将其更改为“英语(美国)”,启动了新的 PS 控制台,确认get-culture
我现在在美国并重新运行get-winevent
命令。
瞧……
可悲的是 - 没有改变get-eventlog
powershell - Powershell try/catch 与测试连接
我正在尝试将离线计算机记录在文本文件中,以便稍后再次运行它们。似乎没有被记录或被捕获。
powershell - 将过滤器添加到 Get-EventLog(服务器端),仅返回最新的 N 条记录
有没有办法在检索事件日志条目之前使用 PowerShell 过滤它们?
IE
代替:
就像是:
更多信息
我知道我可以添加一个where-object
语句来过滤拉回的结果;但这比在服务器端进行过滤效率低,这意味着诸如此类的命令在-Newest 100
过滤后不一定会返回 100 个结果(即,我必须拉回整个事件日志以确保获得最新的
我也知道,对于日期,这可以通过-After
and-Before
属性实现,并且可以提供-Username
's 和-Source
's 的列表来限制这些。但是,如果我想排除 1 个源,或过滤一系列事件 ID,目前似乎没有办法。
我已经研究过使用Get-WmiObject
而不是Get-EventLog
,但是虽然这允许在服务器端进行过滤,但我无法确定限制返回结果数量的方法(即在排序之前返回到我的机器,然后使用select-object
's-first
进行过滤下结果)。
powershell - Powershell script gives different results when run manually
I searched through the answers already on here, but didn't find anything I could say definitively answered my question. I have a script that should reach out to several servers as defined by a text file and report details from the EventLog. It also writes out to a file, emails the resulting file as an attachment, and gives me the amount of time it took to process the command, just so I can monitor the overall performance and see if there are any changes over time. That part works just fine.
I've added this as a scheduled task. If I Run outside of Task Scheduler manually, I get the results I expect.
However, when I let it run on the schedule, I get results minus the last 2 columns (InstanceID & Message)
As a scheduled task, I run it with an account that is in the administrator's group for all servers and I have the "Run with highest privileges" option checked. Why are my last 2 columns missing?
powershell - 'GET-EVENTLOG' 创建一个完整的对象列表,然后被过滤?- 有更快的方法吗?
以下 Powershell 脚本仅获取今天发生的所有系统错误事件 - 它有效:
但运行可能需要几秒钟:我怀疑这是因为第一个“Get-EventLog”cmdlet 首先生成所有事件的完整列表;然后'Where-Object' cmdlet 会缩减该列表。
是一种将“where-object”过滤器作为参数传递给“Get-EventLog”的方法,以便它可以在获取每个对象时对其进行测试?
我推测这种机制运行起来会更快,因为“Get-EventLog”不必维护传递给后续“Where-Object”的对象的完整列表?
但我只是在这里猜测。
另外:这没什么大不了的-这只是我的兴趣点/理解。
powershell - 从 Get-Winevent 获取用户名
如何在以下输出中获取“登录失败的帐户”部分的“帐户名称” Get-EventLog
?我知道它涉及替换字符串,但这只是没有得到它:
示例事件日志条目:
编辑:不知道为什么他们编辑我的帖子以包含旧 cmdlet,与较新的 cmdlet get-winevent 一起工作得很好。正则表达式对我不起作用。不过,这似乎可行。
powershell - 按事件和日期获取事件日志组
它确实将所有内容组合在一起并计数,但我希望计数也是按天计算的。
结果如下:
等等。
我怎样才能在那里分割日期?
powershell - 无法在 Powershell Get-Eventlog 中获取 ComputerName
在事件查看器的安全部分,有一个名为“计算机”的列。
截至昨天,我正在使用 powershell 检索“所有事件 ID 100”并显示“事件 ID”和“计算机”列。
但是,它只显示Computer
列的空白记录。
请帮忙。谢谢你。