Windows AD Practice Day8

3518 字
18 分钟
Windows AD Practice Day8

Day 8|基础命令与结果判断(15 题)#

本篇按“题目 → 我的回答 → 批改 → 正确答案与思路”逐题整理,原始答案保留,订正直接跟在对应题目后面,不再集中到文末查找。

原计划的 Q16 账户反复锁定综合题因时间不足暂缓,移出今日练习,留作明天的候选题,不计错题。本篇仅复盘 Q1~Q15,不考跨域/跨林信任。

作答方式未完整标记,也没有附本轮完整 VM 原始输出,因此不把写出的命令算作实测成功,不据此评估闭卷熟练程度。本文参考答案不是在 VM 新执行的结果。

今天的总体评价#

核心命令与基础概念整体较稳。本轮最值得加强的不是再背一遍查询入口,而是补齐关键字段、使用规范参数,并让结论不超过输出提供的证据。

重点复习 Q5、Q10、Q11、Q12、Q14、Q15:复制摘要的范围、锁定来源字段、回收站启用依据、空间单位、裸 SID 与 GPO 实际应用判断。


Q1|用户与账户:额外属性(简单·先闭卷)#

查询用户 qianyue 的 Name、SamAccountName 和 Department,只显示这三个字段。写出完整 PowerShell 命令。想一想:获取额外属性和选择显示列,分别靠哪个参数/命令?

我的回答:

Terminal window
Get-ADUser -Identity 'qianyue' -Properties Department | Select-Object Name, SamAccountName, Department

额外属性:-Properties 选择显示:Select-Object

批改:正确。额外属性用 -Properties 获取,显示列用 Select-Object 选择,二者区分清楚。

正确答案与思路:

Terminal window
Get-ADUser -Identity 'qianyue' -Properties Department |
Select-Object Name,SamAccountName,Department

-Properties 负责取值,Select-Object 负责展示。


Q2|组与成员:看组类型(简单·先闭卷)#

查询 QYNET-Admin 的 Name、GroupScope、GroupCategory。如果要把这个组加到文件夹 ACL,GroupCategory 应是什么?

我的回答:

Terminal window
Get-ADGroup -Identity 'QYNET-Admin' | Select-Object Name, GroupScope, GroupCategory

加到文件夹 ACL,应该为 Security。

批改:正确。查询字段和 Security 判断均准确;GroupScope 是作用域,GroupCategory 才决定安全组/通讯组。

正确答案与思路:

Terminal window
Get-ADGroup -Identity 'QYNET-Admin' |
Select-Object Name,GroupScope,GroupCategory

用于文件夹 ACL 授权应为 Security,不是 Distribution。


Q3|计算机:确认所在 OU(简单·先闭卷)#

查 QYNET-USER01 的 Name、Enabled 和 DistinguishedName,用于确认计算机账户是否启用、对象放在哪里。写一条命令即可。

我的回答:

Terminal window
Get-ADComputer -Identity 'QYNET-USER01' | Select-Object Name, Enabled, DistinguishedName

批改:正确。Enabled 判断账户是否启用,DistinguishedName 用于确认对象所在路径;不代表设备在线。

正确答案与思路:

Terminal window
Get-ADComputer -Identity 'QYNET-USER01' |
Select-Object Name,Enabled,DistinguishedName

根据完整 DN 确认 OU;对象存在、账户启用与设备在线是三件不同的事。


Q4|域控与 FSMO:查持有者(简单·先闭卷)#

今天允许使用 netdom:写出一次查询五个 FSMO 角色持有者的命令。再说说:正常退役一台持有 FSMO 的 DC,应选择 transfer 还是 seize?

我的回答:

Terminal window
netdom query fsmo

应选择 transfer

批改:正确。查询五个角色的命令与正常退役使用 transfer 的判断均正确。

正确答案与思路:

Terminal window
netdom query fsmo

原角色持有者在线且可以正常交接时使用 transfer。先确认接收 DC 与复制健康,再转移、核验并正常降级旧 DC;不要为正常退役使用 seize。


Q5|复制健康:只看错误(简单·先闭卷)#

使用 repadmin 查看复制摘要,要求只列出发生错误的内容。写命令即可;如果实测结果没有错误行,应如何简短记录?

我的回答:

Terminal window
repadmin /replsummary /errorsonly

若没有错误行,我会记录: 带一个时间戳记录DC无错误、例如: 2026-10-09 复制摘要:/errorsonly 无输出,所有 DC 无复制错误。

批改:基本正确。命令和记录时间的习惯很好;结论需要限定为本次成功查询覆盖的 DC,不能扩大成任何时候全域都无故障。

正确答案与思路:

Terminal window
repadmin /replsummary /errorsonly

建议记录:“在实际查询时间,本次成功查询覆盖的复制摘要未列出失败项;另行记录是否有 DC 查询失败。”没有失败行,不等于命令完全没有标题/时间信息,也不是对所有时间和所有 DC 的保证。


Q6|DCDiag:先检查什么(简单·先闭卷)#

DC 出现异常,你准备先检查连通性,再检查 DNS。分别写出对应的 dcdiag 命令,不需要背其他测试名。

我的回答:

Terminal window
dcdiag /test:Connectivity
dcdiag /test:DNS

批改:正确。先连通性、再 DNS 的检查入口选对了;Connectivity 也涉及 DC 定位和 LDAP/RPC,不是单纯 Ping。

正确答案与思路:

Terminal window
dcdiag /test:Connectivity
dcdiag /test:DNS

先根据 Connectivity 的错误缩小定位与连接问题,再做 DNS 专项检查;一次失败不能直接证明服务器关机。


Q7|DNS 与 SPN:查服务身份(简单·先闭卷)#

想知道 HTTP/testweb.qy.net 这个 SPN 注册到了哪个 AD 账户上,应该怎样用 setspn 查询?只查,不添加或删除;如果查不到,是不是就应该马上随便找个账号添加?说明一句理由。

我的回答:

Terminal window
setspn -Q HTTP/testweb.qy.net

并不能直接随便加。SPN 必须注册到实际运行该服务的账户上,随便找账号添加会让 KDC 用错误的账户密钥加密服务票据,目标服务解不开,Kerberos 认证照样失败,还可能制造重复 SPN。

批改:正确。查询命令与不能随便注册 SPN 的解释都准确。

正确答案与思路:

Terminal window
setspn -Q HTTP/testweb.qy.net

先确定服务实际使用的身份,再判断 SPN 是否应注册到该账户。不能随意挑账号添加,否则服务可能无法解密票据。


Q8|Kerberos 与票据:看当前缓存(简单·先闭卷)#

写出查看当前登录会话中 Kerberos 票据的命令。再判断:把用户加入安全组后,仅清空 Kerberos 票据,是否一定会更新现有 Windows 登录令牌里的组身份?

我的回答:

Terminal window
klist

并不一定更新登录令牌,一般来说需要注销后重新登陆才会刷新令牌。

批改:正确。已区分 Kerberos 票据缓存与现有 Windows 登录访问令牌。

正确答案与思路:

Terminal window
klist

仅清空票据不保证更新当前 Windows 登录令牌;需要刷新组身份时,通常让用户注销并重新登录,而不是只做 klist purge。


Q9|时间同步:查来源与状态(简单·先闭卷)#

写出查看本机时间源和时间同步状态的两条 w32tm 命令。本题只看状态,不修改时间配置。

我的回答:

Terminal window
w32tm /query /status
w32tm /query /source

批改:正确。两条命令都准确,先后顺序不影响;时间源名称不单独证明时间偏差在允许范围内。

正确答案与思路:

Terminal window
w32tm /query /source
w32tm /query /status

分别看来源与状态;若排查时钟偏差,还需比较客户端与实际处理认证的 DC 的时间。


Q10|事件日志:查锁定记录(简单·先闭卷)#

在 DC 上查询 Security 日志中最近 20 条账户锁定事件。写出带 FilterHashtable 的 Get-WinEvent 命令,再写出你会重点查看的“来源计算机”字段名称。

我的回答:

Terminal window
Get-WinEvent -FilterHashtable @{LogName='Security'; id=4740} -MaxEvents 20

批改:命令正确,漏答字段。应补 Caller Computer Name,即调用方计算机名。

正确答案与思路:

Terminal window
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4740} -MaxEvents 20

重点看 Caller Computer Name/调用方计算机名,事件 XML 字段通常是 CallerComputerName。它提供来源机器线索,不直接指出哪个任务或进程;为空时不能推测填补。


Q11|备份与恢复:回收站是否启用(简单·可查)#

准备处理误删测试用户时,先查询 AD 回收站功能。写出查询命令,并说明要看哪个字段,才能区分“功能对象存在”和“功能已经启用”。本题不执行开启或恢复操作。

我的回答:

这里闭卷说一下如何通过 GUI 查看: 在 AD 管理中心中查看是否存在 Delect Objects 项目。

开卷查询:

Terminal window
Get-ADOptionalFeature -Filter 'Name -eq "Recycle Bin Feature"' |
Select-Object Name,EnabledScopes

批改:开卷查询正确,判断依据未写完整。GUI 思路基本正确,容器名称应为 Deleted Objects,不是 Delect Objects。

正确答案与思路:

Terminal window
Get-ADOptionalFeature -Filter 'Name -eq "Recycle Bin Feature"' |
Select-Object Name,EnabledScopes

在连接正确林、权限足够且查询成功的前提下,看 EnabledScopes:空集合表示未启用;非空则核对启用范围。仅查到功能名称不等于已启用。GUI 可打开 AD 管理中心(dsac.exe),选择相应域查看 Deleted Objects/已删除对象 容器。微软:Get-ADOptionalFeature


Q12|磁盘与性能:查看 C 盘空间(简单·可查)#

用 Get-PSDrive 查询 C 盘,只显示 Used 与 Free。写命令即可;输出数值的原始单位是什么?不要求换算 GB。

我的回答:

Terminal window
Get-PSDrive C | Select Used, Free

批改:命令正确,漏答单位。原始 Used 和 Free 数值单位是字节(Bytes)。Select 是 Select-Object 的别名,不扣分。

正确答案与思路:

Terminal window
Get-PSDrive C | Select-Object Used,Free

原始单位为 Bytes。若以后要按 GiB 显示,可以除以 PowerShell 的 1GB(1024³ 字节);本题不要求换算。


Q13|站点与服务:查子网归属(简单·可查)#

查询 AD 中定义的所有子网,显示 Name 和 Site。再说明:如果客户端所在网段没有定义对应的 AD 子网,可能对它定位合适 DC 有什么影响?不需要展开 KCC 或 ISTG。

我的回答:

Terminal window
Get-ADReplicationSubnet -Filter * |
Select-Object Name,Site,Location

会缺少一个关键依据。后果的话,会导致登陆变慢,组策略拉的慢,文件访问慢,Kerberos 获取变慢等等。

批改:基本正确。多显示 Location 没问题;未映射子网可能导致选择远端 DC,但不能断言所有访问必然变慢。

正确答案与思路:

Terminal window
Get-ADReplicationSubnet -Filter * |
Select-Object Name,Site

没有对应子网映射时,客户端缺少正确判断站点的重要依据,可能选择不合适的远端 DC,进而增加登录、认证或组策略处理延迟。具体影响还取决于网络与服务位置。


Q14|清理与维护:裸 SID 能直接删吗(简单·可查)#

文件夹 ACL 中有一项显示为 S-1-5-21-……,没有解析成账号名称。能否仅凭这一点就断定“账号已删除”,并直接移除这项权限?写一句结论,再列出一个应该先核对的原因或信息即可。

我的回答: 不能,先核对:这个 SID 是否能在全局编录、受信任域或 AD 回收站中解析到有效对象,或它是否来自其他域、属于 sIDHistory 等未删除但当前无法解析的情况。

批改:核心原则正确。不因裸 SID 直接删权限是对的;回收站中的对象已删除,不能归为当前有效活动账户,GC 也不能代表任意受信任林。

正确答案与思路:

**不能直接删。**先检查 DC/DNS/信任连通性,再核对 SID 来源域、活动对象、sIDHistory 与资源用途。回收站只能辅助确认删除历史,不证明账号仍处于活动状态。即使确认对象已删除,移除 ACE 前也要核对业务影响并保留原 ACL。


Q15|GPO:客户端是否应用(简单·可查)#

在 QYNET-USER01 的 qianyue 登录会话中,用 gpresult 查看用户范围的文本结果,判断是否出现 Policy-User。写出命令或等效 GUI 检查路线。管理端查到这个 GPO 对象,是否就能证明客户端已应用它?

我的回答:

Terminal window
gpresult /r /scope:user
gpresult /r /scope:user | findstr /i "Policy-User"

不能证明客户端已应用,Get-GPO -Name “Policy-User” 只能证明这个 GPO 对象存在于 AD 里。要证明“已应用”,必须有客户端本地的 gpresult / rsop 结果。

批改:概念正确,参数写法与取证方式需补强。参考答案按官方语法使用 /scope user;仅匹配到 GPO 名称不能证明它位于已应用列表。

正确答案与思路:

Terminal window
# 在 USER01 的 qianyue 登录会话中执行
gpresult /scope user /r

检查“已应用的组策略对象”区域是否列出 Policy-User,并对照“被筛选排除”的区域。findstr 只能定位文字,不能独立证明应用状态。管理端 Get-GPO 只证明对象存在;若要证明某项设置生效,还要核对具体设置与客户端行为。这里按微软 gpresult 文档使用空格写法;本次未连接 VM,不推断原冒号写法在你的机器上的运行结果。


掌握度与下一次练习安排#

  • **本轮答得较完整:**额外属性与显示列、组类型、计算机 OU、FSMO 正常交接、基础 DCDiag、SPN 身份、票据与登录令牌、时间源查询。
  • **需要补齐:**Q10 的来源字段、Q11 的启用判断、Q12 的字节单位;这些是漏答/判断未展开,不能直接等同于完全不会。
  • **需要纠正:**Q14 不把已删除对象当作活动账户;Q15 看已应用区域,而不是全文出现名称就算生效。
  • **需要收紧结论:**Q5 说明查询覆盖范围;Q13 使用“可能导致”,不将风险写成必然结果。
  • **后续出题:**减少重复默写用户/计算机查询,增加短输出判断、补全结论和简短 GUI 核对题。账户反复锁定综合题留作下一次练习候选。
  • **待实测:**Q11 在 AD 管理中心与 PowerShell 对照回收站状态;Q15 在用户会话中读懂 gpresult 的已应用/被筛选排除区域。未标为已经完成。

这次的主要进步是能说出“为什么这样查”;下一步练习重点是“查完以后,哪些结论能下,哪些还不能下”。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
Windows AD Practice Day8
https://springtsuki.xucjno.com/posts/springtsuki/notes/windowsad/practice/109/
作者
SpringTsuki
发布于
2026-10-09
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
SpringTsuki
你好,我是浅月。
公告
浅月的开发小窝!欢迎你来到这里!
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
56
分类
9
标签
42
总字数
188,888
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.13.5
文章许可
CC BY-NC-SA 4.0

文章目录