[玩转系统] 使用 PowerShell 解析 netlogon.log 以查找丢失的子网
作者:精品下载站 日期:2024-12-14 07:15:50 浏览:15 分类:玩电脑
使用 PowerShell 解析 netlogon.log 以查找丢失的子网
Active Directory 使用站点来定义计算机在拓扑中的位置,从而确定应将哪个服务器用于某些服务。例如,站点用于确定客户端应使用哪个域控制器作为登录服务器,如果我的一个客户端在澳大利亚某个站点登录,我可能不希望它处理来自美国域控制器的组策略。
因此,我们在 Active Directory 中定义站点,其中每个站点都与一个或多个子网关联,并且生活良好。但是,如果我们忘记定义某个子网或者突然使用一个新的子网,会发生什么情况呢?如果计算机在未分配站点的情况下连接到 Active Directory,则可能会导致意外行为。
有关此过程的更多详细信息,请访问以下链接:http://jorgequestforknowledge.wordpress.com/2011/01/27/dc-locator-what-does-quot-no-client-site- quot-netlogon-log 中的平均值/
让任何未定义子网中的计算机使用默认站点的一个好方法是使用“catch-all”子网。如果一台计算机的 IP 地址与多个子网匹配,则最具体的匹配获胜,这意味着我可以将 10.1.1.0/24 分配给 Site1,将 10.1.2.0/24 分配给 Site2,然后将 10.1.0.0/16 分配给 Site1,从而生成任意地址在此范围内,与任何其他定义的子网不匹配的子网将与 Site1 关联。
然而,这篇文章并不是关于为什么、是否或如何定义子网的问题。它是关于查找客户端使用哪些子网而未在 Active Directory 中定义的子网。要找到这些子网(从现在开始称为“丢失的子网”),我们需要检查每个域控制器上的 netlogon.log 并查找错误消息 NO_CLIENT_SITE 。
该行的第一部分将是时间戳(如果未禁用时间戳),客户端计算机的名称和 IP 地址将列在该行的最后。在大型环境中这可能是一项相当繁琐的任务,因此我编写了一个脚本来从多个域控制器收集 netlogon.log 日志的最后部分并搜索 NO_CLIENT_SITE。它还将从每行中提取时间戳、计算机名称和 IP 地址,并将其作为自定义 PSObject 返回,以便于排序和/或过滤。如果由于任何原因在任何域控制器上禁用了 netlogon.log 的时间戳,请将参数 -IncludeTimestamp 设置为 $false)。该脚本非常简单,我使用以下代码枚举当前域中的所有域控制器作为 -DomainControllers 的默认值:
([System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()).DomainControllers.Name
然后我编写了两个函数,第一个函数使用带有参数 -Tail 的 Get-Content 从每个域控制器的 netlogon.log 日志文件中检索最后 (n) 行,并将每一行发送到管道。
第二个函数接受来自管道的字符串。在此函数中,我首先根据参数 IncludeTimestamp 在 Begin{} 块中定义了一个正则表达式。然后将该模式与分析的每一行进行匹配。为了从与我的模式匹配的每一行中提取我感兴趣的信息,我使用了名为命名组的东西。简而言之,正则表达式中括号内的任何内容都被视为一个组,并且在 PowerShell 中使用 -match 运算符时将填充到自动变量 $matches 中。
然后可以使用 $matches[index] 访问每个组,其中 index 是从 1 开始的组的索引号。$Matches[0] 将始终包含整个匹配的字符串。然而,跟踪每个组的索引很快就会变得非常令人沮丧,特别是如果您有嵌套组。对于这个问题有一个很好的解决方案,称为命名组。
只需在第一个括号后输入“?”,即可使用组名作为索引来提取组。让我们举个例子。
一组人被要求用五句话来展示自己。我们假设每个人都会写下自己的名字,并且可能会加上“name is”前缀。让我们将每个句子与一个模式相匹配。
$Pattern = “name is (?<name>w+)”
这将搜索“name is”,后跟 w,它是任何字母数字字符或下划线的正则表达式,以及 +,意味着字母数字字符(或下划线)将出现一次或多次。括号内的匹配部分是一个名为“name”的组。
现在匹配一个句子可能如下所示:
”My name is Simon” -match $Pattern
这将返回 True 并填充自动变量 $matches。通过将 $matches 传递给 Get-Member 来检查 $matches 将显示 $matches 是一个哈希表。要从匹配的句子中提取命名组,我们可以简单地从哈希表中获取键“name”的值:
$Matches[“name”]
匹配完成后,通过创建 PSCustomObject 并将其写入输出来返回结果。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag