如何查明通过ADFS及Dynamics 365本地版(ADFS/IFD)登录的用户所用浏览器
作为经常处理Dynamics 365本地部署的老玩家,我来给你分享几个靠谱的办法:
一、获取所有用户登录的浏览器信息
1. 利用Dynamics 365的审计日志
首先确保你的组织已经开启了登录事件审计(这是前提)。之后打开Dynamics,用高级查找定位到「审计」实体,筛选操作类型为「登录」的记录。每条记录里的「客户端信息」字段会带有完整的User-Agent字符串,解析一下就能得到浏览器的类型、版本甚至操作系统信息——比如Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36一看就是Chrome浏览器。
2. 查看IFD部署的IIS日志
因为IFD是通过IIS对外发布Dynamics服务的,IIS日志里藏着很多细节。默认日志路径在C:\inetpub\logs\LogFiles\W3SVCxxx(xxx是你的网站ID),打开日志文件后,找cs(User-Agent)这一列,直接就能看到用户登录时的浏览器信息。如果日志量太大,用Excel或者Power Query导入后筛选登录相关的请求(比如包含/main.aspx的路径),效率会更高。
二、专门排查仅通过ADFS登录的用户浏览器
1. 查看ADFS服务器的事件日志
ADFS每次处理成功登录都会留下事件记录。打开ADFS服务器的事件查看器,导航到应用程序和服务日志 > AD FS > Admin,找事件ID为1200的条目(这是成功登录的事件)。在事件详情的「详细信息」标签里,找到UserAgent属性,里面就是用户用的浏览器信息。这些事件本身就是ADFS处理的,直接提取就能筛选出仅ADFS登录的用户数据。
2. 关联Dynamics和ADFS日志做精准匹配
如果需要把浏览器信息和具体用户对应上,可以把Dynamics审计日志里的用户ID、登录时间,和ADFS事件日志里的用户标识(比如UPN)、时间戳做关联。这样就能精准定位到哪些用户是通过ADFS登录的,以及他们用的是什么浏览器。
3. 开启ADFS跟踪日志(进阶排查)
如果遇到特殊情况,需要更细致的请求数据,可以在ADFS管理控制台里开启跟踪日志。跟踪日志会记录完整的请求头信息,包括更详细的User-Agent内容,适合排查单个用户的登录问题。
内容的提问来源于stack exchange,提问作者Ded_sec

