You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过本地脚本获取已加入Azure AD的设备的域信息及本地所属组?

如何通过本地脚本获取已加入Azure AD的设备的域信息及本地所属组?

兄弟,我懂你想在本地离线获取Azure AD设备信息的需求,毕竟传统AD那套注册表和WMI查询用惯了,突然换Azure AD确实有点懵。其实Azure AD的本地缓存机制和传统AD不一样,但还是有办法直接在本地拿到你需要的核心信息,不用碰网络:

  • 首选工具:dsregcmd /status
    这个是Windows自带的命令,完全本地运行,不需要联网,能输出所有Azure AD相关的本地状态信息。运行后你能快速找到这些关键内容:

    • AzureAdJoined:显示设备是否已成功加入Azure AD(结果为Yes/No)
    • TenantName:你的Azure AD租户名称(也就是对应的域名)
    • TenantId:租户的唯一标识ID
    • DeviceId:当前设备在Azure AD中的专属ID
    • UserPrincipalName:当前登录的Azure AD用户账号
      如果想在PowerShell里精准提取这些信息,可以用这条命令:
    dsregcmd /status | Select-String -Pattern "AzureAdJoined|TenantName|TenantId|DeviceId"
    
  • 注册表中的隐藏缓存路径
    你之前查看的HKLM\SOFTWARE\Microsoft\Enrollments确实没什么直接可用的内容,不过可以试试这两个路径:

    • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\CDP:这里存储了设备注册Azure AD的相关配置信息
    • HKLM\SOFTWARE\Microsoft\IdentityStore\Cache:缓存了用户和设备的身份令牌数据,但内容大多是加密或格式化后的,可读性远不如dsregcmd输出的内容
  • 关于OU和站点的重要说明
    得给你提个醒:Azure AD本身没有传统AD里的OU(组织单元)和站点概念,这些是本地Active Directory特有的层级结构。所以当设备加入Azure AD后,本地根本不会缓存这类信息——毕竟Azure AD里就不存在这些东西,自然没的缓存啦。

  • VBScript的适配方式
    如果还要用VBScript来实现,你可以通过调用dsregcmd /status命令,捕获它的输出内容后逐行解析,筛选出你需要的字段即可,原理和PowerShell里的处理逻辑类似。

备注:内容来源于stack exchange,提问作者Adam Thompson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 11:35:29