Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Windows에 로그인한 계정이 마이크로소프트의 계정인지, 로컬 계정인지 알아내는 방법

찾아 보니 다음과 같은 글이 있습니다.

Get Microsoft Account Id from Windows 8 desktop application
; https://stackoverflow.com/questions/19740975/get-microsoft-account-id-from-windows-8-desktop-application

실제로 위의 Q&A에 나온 답변에 따라 다음과 같이 알아낼 수 있습니다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Principal;

public class Program
{
    public static void Main(string[] args)
    {
        var wi = WindowsIdentity.GetCurrent();

        var groups = from g in wi.Groups
                     select new SecurityIdentifier(g.Value)
                     .Translate(typeof(NTAccount)).Value;

        var msAccount = (from g in groups
                         where g.StartsWith(@"MicrosoftAccount\")
                         select g).FirstOrDefault();
        var test = msAccount == null ? wi.Name :
              msAccount.Substring(@"MicrosoftAccount\".Length);

        Console.WriteLine(test);
    }
}

각각의 출력 유형은 다음과 같습니다.

[마이크로소프트 계정]
계정이 test@outlook.com이라면, 출력도 "test@outlook.com"

[로컬 컴퓨터 계정]
컴퓨터 명이 testpc, 사용자 계정이 tester라면 "TESTPC\tester"

[Active Directory 계정]
AD 명이 TEST.COM이고, 사용자 계정이 tester라면 "TEST.COM\tester"




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 11/13/2018]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 181  182  183  184  185  186  187  188  189  [190]  191  192  193  194  195  ...
NoWriterDateCnt.TitleFile(s)
322정성태8/15/200626482개발 환경 구성: 6. 4GB 메모리 구성 [1]
316정성태9/20/200646268디버깅 기술: 6. .NET 예외 처리 정리 [6]
309정성태12/27/200647203디버깅 기술: 5. PDB 이야기 [7]
310정성태8/5/200634122    답변글 디버깅 기술: 5.1. PDB 파일에 따른 Debug 정보 - WinForm + Library 유형의 프로젝트파일 다운로드1
311정성태8/10/200633999    답변글 디버깅 기술: 5.2. PDB 파일에 따른 Debug 정보 - .NET 2.0 Web Application Project + Library 유형의 프로젝트
312정성태8/5/200636299    답변글 디버깅 기술: 5.3. PDB 파일에 따른 Debug 정보 - .NET 2.0 Web Site Model 유형의 프로젝트
313정성태8/12/200635087    답변글 디버깅 기술: 5.4. VS.NET 2005 디버그 모드에서의 PDB 파일 사용 차이 (1)
317정성태8/12/200632124    답변글 디버깅 기술: 5.5. VS.NET 2005 디버그 모드에서의 PDB 파일 사용 차이 (2)
318정성태8/12/200639043    답변글 디버깅 기술: 5.6. VS.NET 2005를 이용한 미니덤프 파일 분석 (1)
319정성태8/12/200633605    답변글 디버깅 기술: 5.7. VS.NET 2005를 이용한 미니덤프 파일 분석 (2) [1]
320정성태8/12/200637998    답변글 디버깅 기술: 5.8. WinDBG를 이용한 미니덤프 파일 분석 [1]
321정성태8/13/200642956    답변글 디버깅 기술: 5.9. Microsoft의 PDB 파일 관리
323정성태8/15/200644038    답변글 디버깅 기술: 5.10. Symbol Server 생성 [4]
324정성태8/15/200640268    답변글 디버깅 기술: 5.11. PDB 파일과 소스 코드
325정성태9/8/200633540    답변글 디버깅 기술: 5.12. CCP를 이용한 Windows Source Code 수준의 디버깅
329정성태8/19/200632021    답변글 디버깅 기술: 5.13. 소스 서버 구성 [1]
332정성태8/20/200633617    답변글 디버깅 기술: 5.14. GAC 에 등록된 Assembly 디버그 [2]
341정성태9/16/200625805    답변글 디버깅 기술: 5.15. [내용 예약]
342정성태9/16/200643700    답변글 디버깅 기술: 5.16. ASP.NET 디버깅 환경 구성 [1]파일 다운로드1
306정성태2/13/200722744기타: 15. .NET 이 생산성이 높다는 증거(!)
304정성태7/21/200625257VS.NET IDE: 41. 하위 폴더의 모든 프로젝트의 출력물을 제거 (Clean)
305정성태7/21/200624732    답변글 VS.NET IDE: 41.1. 하위 폴더의 모든 프로젝트의 출력물을 제거 (Clean) [1]
303정성태7/20/200622895Team Foundation Server: 12. 사용자 계정 재생성에 따른 Version Control 영향
302정성태8/21/200624691Team Foundation Server: 11. TFS Team Build와 VC++ Project 설정
299정성태7/23/200624063개발 환경 구성: 5. VMWare - VM 생성 화면 캡쳐
300정성태7/15/200629919    답변글 개발 환경 구성: 5.1. VMWare 오류 유형 - The handle is invalid.
... 181  182  183  184  185  186  187  188  189  [190]  191  192  193  194  195  ...