![检查 Windows 注册表以查看主机是否加入了 Azure AD 域?](https://linux22.com/image/778854/%E6%A3%80%E6%9F%A5%20Windows%20%E6%B3%A8%E5%86%8C%E8%A1%A8%E4%BB%A5%E6%9F%A5%E7%9C%8B%E4%B8%BB%E6%9C%BA%E6%98%AF%E5%90%A6%E5%8A%A0%E5%85%A5%E4%BA%86%20Azure%20AD%20%E5%9F%9F%EF%BC%9F.png)
在加入“传统” Active Directory 域的 Windows PC 上,查询Win32_ComputerSystem
或Win32_NTDomain
返回域名。
在 Azure 上任何事物[加入],这些课程没有返回任何内容。
我们的软件除非加入特定域,否则无法运行,以防止恶意用户访问数据。
如果 Azure AD [已加入/注册] 的计算机未在 CIM 中存储该信息,我们如何确定主机是公司笔记本电脑而不是恶意家庭用户?当然可以,但除此之外我找不到任何有用的东西,这并不实用:
dsregcmd /status
听起来像是一个侏罗纪时代的问题,但事实确实如此。
答案1
“Azure Ad 域加入注册表项”作者 Michael Herndon 解释说,您可以查询注册表项以获取云域加入信息:
HKLM:/SYSTEM/CurrentControlSet/Control/CloudDomainJoin/JoinInfo/{Guid}
检查 GUID 下的两个子项以查找租户 ID 和用户电子邮件值。此示例使用 PowerShell:
$subKey = 获取项目“HKLM:/SYSTEM/CurrentControlSet/Control/CloudDomainJoin/JoinInfo”
$guids = $subKey.GetSubKeyNames()
foreach($guid in $guids) {
$guidSubKey = $subKey.OpenSubKey($guid);
$tenantId = $guidSubKey.GetValue("TenantId");
$userEmail = $guidSubKey.GetValue("UserEmail");
}
您应该能够将此检查与查找本地 Active Directory 域加入信息的现有脚本相结合。
答案2
我必须承认你的问题令人困惑,你想要完成什么?你想要:
- 知道设备是否已加入租户或本地域?“Dsregcmd /status”将告诉您 Azure AD 甚至本地域中的设备状态
- 您是否想要一个脚本来自动执行 dsregcmd 的运行过程并将结果导出到 csv 文件?这里有一个不错的脚本可以使用:https://github.com/mzmaili/AzurePRTLoginReport
- 您是否要阻止用户将其个人设备加入到您的租户?您可以在租户设备设置中执行此操作:https://docs.microsoft.com/en-us/azure/active-directory/devices/device-management-azure-portal#configure-device-settings
- 您想知道该设备是否属于某个域?您已经说过可以使用 Win32_ComputerSystem 来实现这一点
如果您的询问不是以上任何一项,您能否尝试澄清一下您想要完成什么?