2010-05-06 6 views
2

컴퓨터 목록 (데이터베이스에 저장되어 있음)이 있으며 프로그래밍 방식으로 해당 컴퓨터에서 localadmin을 찾아 해당 정보를 데이터베이스에도 저장할 수 있도록하려고합니다.목록 가져 오기 서버 집합에 대한 LocalAdmins

나는 powershell을 사용하여이 작업을 수행 할 수 있음을 알고 있습니다. 그러나 방법을 찾고 C 번호를 사용하여 같은 일을하는

나는

답변

3

난 그냥 내 로컬 컴퓨터에서이 코드를 시도하고 그것을 잘 작동합니까 방법 :

 string hostName = "myComputer"; 
     //get machine 
     using (DirectoryEntry machine = new DirectoryEntry("WinNT://" + hostName)) 
     { 
      //get local admin group 
      using (DirectoryEntry group = machine.Children.Find("Administrators", "Group")) 
      { 
       //get all members of local admin group 
       object members = group.Invoke("Members", null); 
       foreach (object member in (IEnumerable)members) 
       { 
        //get account name 
        string accountName = new DirectoryEntry(member).Name; 
        //DO SOMETHING... 
       } 
      }   
     } 

내가 할 수있는 내가 다시 작동 할 때까지는 원격 컴퓨터에서 검사하지 않지만 원격 컴퓨터에 대한 사용 권한을 가진 계정으로 실행하고 있다고 가정하면 작동한다고 상상해야합니다.

+0

감사합니다. David 님의 답변입니다. 그러면 로컬 컴퓨터의 그룹 구성원 목록이 표시됩니다. 원격 컴퓨터 목록에서 LocalAdmins를 가져 오려고합니다. 바탕 화면에서이 프로그램을 실행하고 동일한 도메인 및 트러스 팅 도메인에있는 원격 컴퓨터 목록에서 localadmin 목록을 얻고 싶습니다. –

+0

위와 같이 수정하십시오. –

+0

예 .. 훌륭합니다. 방금 추가 할 필요가있었습니다. 상단에 system.collections.generic을 사용했습니다. 고맙습니다. –