获取用户';来自后台打印程序API的打印作业的域名

本文关键字:打印 域名 程序 API 后台 作业 用户 获取 | 更新日期: 2023-09-27 18:25:29

给定打印的作业ID,如何获取进行打印的用户的域名?

我可以从例如通过GetJob检索的JOB_INFO_2中获取用户名,但JOB_INFO_#结构都不包含用户的域名。

我可以使用IPGlobalProperties.GetIPGlobalProperties().DomainName获取打印服务器的域,但这可能与用户的域不同,因此这不是一个可靠的解决方案。

获取用户';来自后台打印程序API的打印作业的域名

我不确定,但我突然想到,用户名可能会包括用户的域(有点像name@domain),并且可能只有当用户打印到另一个域中的打印机时才会发生这种情况。写一些代码并检查一下可能是值得的。

尝试使用UserPrincipal.FindByIdentity(PrincipalContext、IdentityType、String)按用户名查找用户。找到用户后,获取具有该UserPrincipal的Context属性的域。

您需要添加对System.DirectoryServices.AccountManagement.

的引用