![](/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.