2010-04-27 26 views

Trả lời

18
System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString() 
+3

+1, nhưng thực sự bạn sẽ không cần phải gọi 'ToString()' như 'Tên' đã có kiểu chuỗi. –

+0

@ 0xA3: Tốt điểm - nghĩ rằng tôi có một chút mang đi với bản thân mình ở đó :-) – codingbadger

10

Bạn có thể sử dụng Environment.UserDomainName tài sản để lấy tên miền và Environment.UserName để lấy tên người dùng:

Dim domainAndUserName As String _ 
    = Environment.UserDomainName & "\\" & Environment.UserName 
+2

Không chính xác. Environment.UserDomainName chỉ chứa tên miền, không chứa tên người dùng. –

+0

@CERIQ: Xin lỗi, tôi đã đọc sai tài liệu và sửa câu trả lời của tôi. Kỳ lạ là nó vẫn nhận được upvotes ... –

+1

Bạn có một quá nhiều dấu gạch chéo ngược ở đó cho VB.NET –

1

nếu bạn đang sử dụng ASP.NET bạn có thể sử dụng

HttpContext.Current.User.Identity.Name; 
1

WindowsIdentity.GetCurrent().Name

2

Environment.UserDomainName contai ns tên miền/máy tính mà tài khoản của bạn được tham gia. Environment.UserName chỉ chứa tên người dùng. Để có được kết quả bạn đang theo dõi, bạn cần phải kết hợp các biến (Environment.UserDomainName & "\\" & Environment.UserName). Tuy nhiên, điều này chỉ hoạt động tốt trong ngữ cảnh cục bộ, nếu bạn sử dụng mã này trong một trang web, bạn sẽ nhận được tên tài khoản mà hồ bơi ứng dụng của bạn đang chạy. Trong asp.net, sử dụng HttpContext.Current.User.Identity.Name để thay thế.

+0

Trước khi tham gia tên miền và tên người dùng đầu tiên kiểm tra xem tên miền không có sản phẩm nào trong trường hợp người dùng địa phương. – Alexander

Các vấn đề liên quan