在使用终端服务 (TS) 代理和用户标识 (用户 ID) 代理来确定哪些用户登录到某些系统的环境中, 需要采取一些预防措施来防止用户的错误映射, 主要是关于终端服务器, 可以同时登录多个用户。
两个代理都以自己独特的方式实现用户映射:
- 用户 ID 代理通过从活动目录读取登录事件、通过执行 netbios 或 WMI 探测、访问网络驱动器或集成 AP 的 API 调用来将单个用户映射到单个 IP。
- TSAgent 仅在安装它的系统上处于活动状态, 并通过将源端口范围 (它积极参与网络堆栈) 分配给登录用户来工作, 通知防火墙哪些源端口由每个用户使用。
如果两个客户端在相同的环境中处于活动状态, 并且 TSAgent 安装的主机与常规客户端是同一网络的一部分, 则可能会发生一些冲突。最常见的情况是, 如果 TSAgent 和 UIDAgent 都有一个 IP 地址的用户映射, 则可以创建双映射。

>> 显示用户 ip-用户映射所有
ip Vsys 从用户 IdleTimeout MaxTimeout (s)
---------------------------------------------------------------------------------------
10.192.16.98vsys1律师pantac \ administrator3590 3590
>> 显示用户 ip 端口-用户映射所有
全局最大主机索引 1, 主机哈希计数 1
TS-代理10.192.16.98
Vsys 1, 标志 3
端口范围: 20000-39999, 端口计数 20000
分配的端口数用户终端会话: 200;最大 2000
用户终端会话数 (端口块数): 100
20000-20199: pantac
20200-20399: pantac \ tpiens
在大多数情况下, 这种重叠是无害的: 通常, 登录用户将由 TSAgent 分配一个源端口, 并由防火墙标识, 而服务帐户可能会触发 UIDAgent 登录事件--从 AD 安全日志中提取--在 ip 用户映射中生成 UID 项。来自此类服务帐户的任何传出连接都将由 ip 用户映射而不是 ip 端口映射来标识。
在某些情况下, 允许终端服务器发生 ip 用户映射可能是不可取的, 因为此映射可以由多个进程触发, 难以控制 (将驱动器映射到安装了 UID 代理的服务器, 执行具有不同用户名), 特别是在混合环境中, 具有高度不同权限的使用者访问同一终端服务器。
从安全最佳做法的角度来看, 建议将终端服务器排除在 UIDAgent 的发现之外. 这将防止与终端服务器场关联的 IPs 发生任何常规的 ip 用户映射, 从而防止服务帐户的活动意外误认与已知的用户一起执行任务, 从而通过UIDAgent:

或者另外, 用户可以添加到 "忽略用户" 列表中, 以防止 UIDAgent 完全映射它们:

如何添加/删除用户从忽略用户列表使用无代理的用户 ID
如何忽略用户的用户 ID 代理