如何根据打印的作业ID获取进行打印的用户的域名?
我可以从例如GetJob检索到的JOB_INFO_2中获取用户名,但JOB_INFO_#结构中没有一个包含用户的域名。
我可以使用IPGlobalProperties.GetIPGlobalProperties().DomainName
获取打印服务器的域名,但这可能与用户的域名不同,因此它不是一个可靠的解决方案。
答案 0 :(得分:1)
我不确定,但我发现用户名可能包含用户的域名(有些名称@ domain),也许这只会在用户打印到另一个域的打印机时发生。可能值得编写一些代码并进行检查。
答案 1 :(得分:1)
尝试使用UserPrincipal.FindByIdentity(PrincipalContext, IdentityType, String)按用户名查找用户。找到用户后,使用该UserPrincipal的Context属性获取域。
您需要添加对System.DirectoryServices.AccountManagement的引用。