
纳吉奥斯 – 检查 Active Directory 中用户的状态
当我们的组织有足够的用户时, 或者最重要的是, 当他们有点痣时, 我们可以尝试控制您的 Active Directory 帐户, 防止和监控可能的故障, 这是, 我们将能够控制是否禁用用户帐户, 您的密码已过期或即将过期, 以及它们是否已被阻止, 除其他选项外.
感谢 Nagios 或 Centreon 等, 我们将能够以相当简单的方式监控这一点,并在我们有受影响的用户帐户时实时获取通知. 通过 NRPE,我们将能够在任何 Windows 计算机上运行 PowerShell 脚本,该脚本将检查 Active Directory 以查找有问题的用户. 如果您没有 'check_nrpe’ 或者您需要知道如何安装必要的代理, 访问此文档 Nagios – 使用 NRPE 进行监测.
我们依赖于 'lotp_check_ad_accounts.ps1' 脚本, 我们可以从 Exchange Nagios 下载, 从同一 URL: https://exchange.nagios.org/directory/Plugins/Operating-Systems/Windows-NRPE/Check-Active-Directory-Accounts/details
我们将能够验证:
- 已禁用的帐户 –> AccountDisabled 帐户
- 过期的用户帐户 –> 帐户已过期
- 用户帐户即将过期 –> AccountExpiring (帐户过期)
- 非活动帐户 –> AccountInactive (帐户非活动)
- 被阻止的帐户 –> 锁定
- 密码过期的帐户 –> 密码已过期
- 密码永不过期的帐户 –>PasswordNeverExpires
如果我们想从 PowerShell 测试它, 我们必须使用以下格式执行命令:
[源代码]lotp_check_ad_accounts.ps1 AccountDisabled 'dc=openservices,dc=本地’ 子树 2 3[/源代码]
上述参数在哪里, 首先是将要进行的检查类型, 后跟搜索字符串, 搜索范围 (可以是 Base/OneLevel/Subtree) 和数字, Warning (警告) 和 Critical (严重) 的最大结果值.
如果我们修改脚本的以下行, 我们将能够输出有问题的受影响用户,:
[源代码]$输出 = $state+&引用;: &引用;+$结果。计数+&引用; &引用;+$行动+&引用;|&引用;+$行动+&引用;=&引用;+$结果。计数+&引用;;&引用;+$最大警告+&引用;;&引用;+$最大暴击[/源代码]
按以下方式:
[源代码]$输出 = $state+&引用;: &引用;+$结果。计数+&引用; &引用;+$行动+&引用; &引用;+$结果+&引用;|&引用;+$行动+&引用;=&引用;+$结果。计数+&引用;;&引用;+$最大警告+&引用;;&引用;+$最大暴击[/源代码]
井! 开始! 我们按照我们已经知道nsclient.ini编辑文件! 我们必须首先定义别名,然后定义将要执行的脚本:
[源代码][/设置/外部脚本/脚本]
check_cuentas = cmd /c echo scripts\lotp_check_ad_accounts.ps1 $ARG 1$ &引用;$ARG2&引用; 子树 $ARG$ 3 $ARG$ 4; 退出 ($Lastexticode) | powershell.exe –
[/设置/外部脚本/别名]
check_cuentas = check_cuentas[/源代码]
正如我们所看到的, 我们可以超过他 4 参数, 即使每个人都可以做他们想做的事! 记得重启 NSClient 服务 ++ 修改配置文件后.
然后,创建服务就足够了,该服务将监控对 Active Directory 用户的每次检查. 我们像往常一样创建此服务,并将其绑定到将运行 PowerShell 脚本的服务器, 我们将使用 chech_nrpe 命令,在我的情况下,我没有单独定义参数, 我们可以直接把油条和大家放在一起, 或设置 check_nrpe 命令以支持参数. 井, 前往主题, 在此方案中, 在这种情况下,将检查被阻止的账户的服务将被定义, 让我们转到 “Configuration” > 「服务」 > “添加”或克隆一个,并至少指示以下数据:
- 描述: 我们将从监控中看到您的名称, 将定义执行的检查, 在这种情况下, '公元 – 被封锁的账户对我有好处”.
- 模板: 通常, 选择“generic-active-service-custom”.
- Check 命令: 从命令列表中选择, “check_nrpe”.
- 参数: 在这里,我们必须填写我们在 INI 文件中定义的别名, 在本文件中,我们将通过 NRPE 传递检查“check_cuentas”. 后跟一个 '-a’ 将参数传递给他, 它将如下所示: check_cuentas -a 锁定 “dc=开放服务,dc=本地” 2 3
我们用 “救”! 我们将在周围环境中提供尽可能多的服务!
哦,好吧, 照常, 如果我们导出 Centreon 数据并重新启动引擎, 我们将能够从 “Monitoring” 开始 > “状态详细信息” 检查每个受监视的服务, 我们已经拥有已经控制和监控了 Nagios 或 Centreon 的 Active Directory 的用户帐户! 我们将避免不必要的恐慌, 真?? 我希望你觉得它有用, 感谢大家的分享!