如果line包含string,则保存未指定的字符数

时间:2018-01-15 20:38:57

标签: python-2.7

我正在为客户端编写一个小脚本来获取事件查看器安全日志的输出,以列出用户在一周内连接到DC服务器的次数(事件查看器配置为输出.txt文件)一周的第一天)。

我目前使用的脚本打印出连接的名称和时间,但是我想添加一项功能来记录每个用户连接的次数。

客户经常轮换工作人员,因此我希望每次新用户加入或离开时都不必编辑脚本。

有没有办法在指定字符串后保存未指定数量的字符?

我要记录的字符串是用户名,当有问题的字符串格式为" DOMAIN \ USERNAME"。

因此,例如,如果用户迈克尔登录微软域名(MICROSOFT \ Michael),它只会将迈克尔保存到计数器中。

示例1:

事件查看器每周会丢掉约200,000个以下内容:

身份验证包:MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 登录帐户:公司\管理员 源工作站: 错误代码:0xC000006A" 审核失败15/01/2018 13:07:36 Microsoft-Windows-Security-Auditing 4776凭据验证"计算机尝试验证帐户的凭据。身份验证包:MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 登录帐户:公司\用户1 源工作站: 错误代码:0xC000006A" 审核失败15/01/2018 13:07:36 Microsoft-Windows-Security-Auditing 4776凭据验证"计算机尝试验证帐户的凭据。

我已经写了一些基本代码来删除不需要的信息,下面只是其中的一小部分:

    for line in file_name.readlines():
        enter code here if "Logon Account" in line:
            new_file.write(line)

基本上,当读取每一行时,如果以前没有记录用户,则将用户添加到字典中,当文件中稍后重复用户名时,将密钥增加一个。

1 个答案:

答案 0 :(得分:0)

使用正则表达式,例如:

import re
m = re.search('(?<=domain\\)(.*)', yourstring)
print m.group(1)
相关问题