首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Get-EventLog消息获取一行

Get-EventLog消息获取一行
EN

Stack Overflow用户
提问于 2017-03-08 06:21:47
回答 2查看 2K关注 0票数 0

我想知道是否有一种方法可以从Get-EventLog中获取消息中的信息。到目前为止,我使用下面这行代码来获取消息:

代码语言:javascript
复制
(Get-EventLog -Logname Security -InstanceId 4625 -Newest 1).Message

这将从实例ID为4625的实例中拉出消息,但拉取整个消息。我想抓取:Account Name (第二个),Account Domain (第二个)和Workstation Name

以下是该命令运行时的显示:

高亮显示的区域是我想要显示的内容。它可以一次完成,也可以只为每个高亮显示的对象发出不同的命令。

EN

回答 2

Stack Overflow用户

发布于 2017-03-08 06:53:18

使用regular expressions从消息中提取信息。提取账号和域名示例:

代码语言:javascript
复制
$msg = (Get-EventLog ...).Message

$re = 'Logon Failed:[\s\S]+?Account Name:\s+(.*)\s+Account Domain:\s+(.*)'
if ($msg -match $re) {
  $account = $matches[1]
  $domain  = $matches[2]
}

$matches[1]$matches[2]是指表达式中的两个捕获组((.*))。

可以使用类似的表达式提取工作站名称。

票数 1
EN

Stack Overflow用户

发布于 2017-03-08 06:43:52

EDIT: output为字符串,因此以下代码将不起作用:

| select-object能工作吗?我尚未使用此cmdlet,因此无法测试我的答案。

因此,您的完整行可以是:

(Get-EventLog -Logname Security -InstanceId 4625 -Newest 1).message | select-object AccountName,DomainName

编辑CONT

Ansgar先我一步提出了一些建议。对于造成的混乱我深表歉意。我对此缺乏了解。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42659468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档