我正在使用GetUserName Win32 API来获取我的计算机的用户名,但是当我在家时使用我的VPN连接工作时,我发现用户名不同(仅大写与小写)。我想知道VPN客户端或其他软件是否会影响用户名?
答案 0 :(得分:3)
GetUserName API声明:
检索用户的名称 与当前线程相关联。
使用GetUserNameEx函数 检索指定的用户名 格式。其他信息是 由IADsADSystemInfo提供 接口
因此看起来GetUserName使用IADsADSystemInfo来获取它的信息。
如果查看IADsADSystemInfo界面,您会看到它具有以下方法:
get_UserName
检索活动 目录专有名称 当前用户,登录后的用户 用户或被用户冒充的用户 调用线程。
因此,当您通过VPN连接到域登录时,您很可能会获得当前用户的Active Directory专有名称,而当您不是时,您很可能会获得您输入的用户名(无论您输入的是什么情况) in)使用。登录计算机。
答案 1 :(得分:2)
此API返回登录计算机时用户键入的名称。因此,如果我的用户名是'esac',但我输入'Esac',此API将返回'Esac'。如果我输入“ESAC”,它也将返回。
答案 2 :(得分:0)
不是100%肯定,但我怀疑当你连接到域网络时,GetUserName最终会与DC通话,否则它将使用本地答案