问题标签 [get-winevent]
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 - get-winevent: 无法过滤特定字段 FailureReason %%2313
我正在为事件 4625 使用 get-winevent,因为我需要失败原因,它位于事件的 xml 字段中。
我尝试的第一件事是打印出所有希望的字段,失败原因在 xml 的数据路径中的某处可用,但没有成功。
我没有找到一种方法来使用 powershell 查询状态码 %%2313 以获取可读文本。
我做的最后一件事是过滤特定事件并自己在导出文件的自定义字段中写入状态消息。
我用这段代码来实现这一点:
但是:它接缝我无法过滤 %%2313 作为属性值。不知道为什么。即使有引号之类的,也不要把任何事件弄出来。
powershell - PowerShell 与 CMD 相同的命令具有不同的结果
Get-WinEvent 命令的以下命令有效:
电源外壳:
命令:
我面临的问题是,当我尝试通过管道传输结果以获取特定的 RecordID 时,它可以在 PowerShell 中工作:
当我尝试将相同的内容添加到我的 cmd 调用时,它不会返回任何结果:
我已经尝试用?
Where -Object替换并-property
排除 CMD 字符被误解的问题。我觉得我在这里遗漏了一些明显的东西。
powershell - Powershell - Get-WinEvent Replace Text
I have a large script which looks at certain event logs. Part of it is the following command:
I receive the following output:
Is it possible to change the output in the reason for failure column to some other message. I know of the -replace
operator but I am struggling on how to incorporate this?
powershell - 如何在 PowerShell 中使用 Get-WinEvent 返回 TaskDisplayName = 'Boot Performance Monitoring' 的过滤事件日志条目
以下代码用于返回 ID = 100 的 Windows 日志事件。
此代码返回 TaskDisplayName = 'Boot Performance Monitoring' 的错误
Get-WinEvent : 未找到符合指定选择条件的事件。在 D:\tfsws\TG-Dev-ICSG2\Support\PowerShell Scripts\Get-WinEvent-TEST.ps1:6 char:1 + Get-WinEvent -FilterHashTable @{ LogName = "Microsoft-Windows-Diagnos ... + ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (:) [Get-WinEvent], 异常 + FullyQualifiedErrorId : NoMatchingEventsFound,Microsoft.PowerShell.Commands.GetWinEventCommand
如何让 Get-WinEvent 接受 TaskDisplayName 过滤器?
powershell - 我如何知道谁重命名了活动目录中的特定组?
在我的环境中,有人重命名了活动目录全局安全组的“组名”。(我这里指的是属性 sAMAccountName,不是显示名)
我想知道是谁这样做的,我无法通过 PowerShell 使用 Get-WinEvent 来完成它。我不知道你们中的一些人是否已经设法完成它,但在我这边,我很难确定这样做所需的条件。
欢迎任何想法!
提前致谢 :)
arrays - PowerShell,Get-WinEvent -FilterHashTable ID 和数组的奇怪行为
我想做的事?
我运行该Get-WinEvent
函数时-FilterHashTable
为参数提供了一系列有趣的事件 ID ID
。
这返回错误:
(而且我知道匹配的事件确实存在)
我注意到,对于较小的数组,该函数返回了积极的结果,因此几乎没有尝试,我断言了这一点:
- 使用数组计数的直接调用
-le 23
正常工作; - 使用数组计数直接调用
-gt 23
会导致错误。
看似正确的解决方案...
我假设 23 是Get-WinEvent
可以处理的底层机制的未记录参数限制,然后决定将调用拆分为具有较小数组的多个调用:
通过这种方式,我们将数组分成两部分,每部分都计算-le 23
元素:
手动检查,这按预期工作:
但...
但是,这不会:
结果是已经熟悉的错误:
为什么?
我究竟做错了什么?
powershell - SYSTEM用户运行时Get-EventLog不解析消息
问题
我正在尝试安排一个监视远程机器上事件的作业。
我根据Get-EventLog
命令编写了脚本,并且在我的帐户运行时它可以正常工作。但是当我Get-EventLog
以SYSTEM
用户身份运行时,.Message
返回对象的属性显示以下错误:
找不到源“Microsoft-Windows-Security-Auditing”中事件 ID“4724”的描述。本地计算机可能没有必要的注册表信息或消息 DLL 文件来显示消息,或者您可能没有访问它们的权限。以下信息是事件的一部分:{somedata}
当我Get-WinEvent
以用户身份使用该命令时SYSTEM
,问题不会出现并且.Message
部件显示正确。
我会坚持下去Get-WinEvent
,特别是因为数据更容易解析(多亏了该ToXML()
方法),但Get-EventLog
恰好速度非常快:(
问题
有谁知道为什么用户运行时Get-EventLog
无法渲染以及如何修复它?.Message
SYSTEM
为了避免明显的答案:
- 该
COMPUTER$
帐户是DOMAIN\Event Log Readers
组的成员, - 该
COMPUTER$
帐户确实HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security
对远程计算机具有读取权限, - 显然,源计算机和目标计算机上的注册表项
Microsoft-Windows-Security-Auditing
和相关 DLL 是相同的。
powershell - powershell 过滤器哈希表凭据
我在将凭据添加到我的代码字符串时遇到问题。这样做的目的是从一台机器中提取多个日志并按时间顺序打印出日志。出于某种原因,一旦我添加了 -credential,我就永远无法让 get-winevent 命令工作。欢迎任何输入!
我目前收到的错误。
Get-WinEvent : 试图执行未经授权的操作。在 line:40 char:5 + Get-WinEvent -FilterHashtable @{LogName=$Log;StartTime=$Startdate ... + ~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (: ) [Get-WinEvent], UnauthorizedAccessException + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetWinEventCommand
powershell - 分组事件日志条目和计数错误
我有以下代码枚举所有事件日志源并获取最近几天的错误和警告。
它目前按日志名称排序,然后在下面逐行列出所有相关条目。
我想修改代码,以便它继续按日志提供程序名称分组,但在下面我希望它通过计数每个唯一条目来总结。输出将排除日期,但会列出 Id、Level、Message 和一个新的“count”属性,其中列出了 Id 发生的次数。
我无法得到我正在寻找的结果。有什么建议么?
powershell - 以精确的时间导出 Windows 日志
我正在尝试使用 Get-WinEvent Powershell cmdlet 导出 Windows 日志。以下将为我提供我正在寻找的时间精度,但这只会让我获得时间戳。我需要将时间戳加入其他列,包括机器名称、事件 ID 等。
这段代码让我得到了准确的时间戳。
输出看起来像这样,这就是我想要的:
但我需要输出包含精确时间以及 MachineName、EventID、LevelDisplayName、Message 等内容。所以在下面的命令中,我想插入精确时间,而不是“TimeCreated”。
谢谢!