![](/img/trans.png)
[英]How do I get the current windows user's name in username@domain format?
[英]How to get username, password and domain of current user
我开发了Windows服务以与报表服务进行互操作,因此我需要组建NetworkCredential才能传递给SSRS。 问题是-我如何获取运行服务的用户名,SecureString和用户域?
如果有任何帮助,我将不胜感激!
您可以通过以下方式获取当前用户:
System.Security.Principal.WindowsIdentity.GetCurrent().Name;
如果我没记错的话,它在domain\\username
的形式上也有域的前缀
您无法获取当前登录用户的密码。 但是,您可以指定Windows服务的运行用户。 这样,您将知道密码,并能够链接该帐户,并在整个域中授予适当的访问权限。
请注意,如果您将来决定更改用户帐户的密码,则必须手动更新服务上的凭据。
要获得包括名字,姓氏和域的完整答案,我们可以使用以下代码:
var domain = Environment.UserDomainName;
UserPrincipal userPrincipal = UserPrincipal.Current;
var firstname = userPrincipal.GivenName;
var lastname = userPrincipal.SurName
var username_id = userPrincipal.SamAccountName;
您需要添加System.DirectoryServices.AccountManagement
作为程序集引用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.