资源描述:
《C#获取域用户列表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、privatestringRunCmd(stringcommand){//實例一個Process類,啟動一個獨立進程Processp=newProcess();//Process類有一個StartInfo屬性,這個是ProcessStartInfo類,包括了一些屬性和方法,下面我們用到了他的幾個屬性:p.StartInfo.FileName="cmd.exe";//設定程序名p.StartInfo.Arguments="/c"+command;//設定程式執行參數p.StartInfo.UseShellExecute=false;//關閉Shell的
2、使用p.StartInfo.RedirectStandardInput=true;//重定向標準輸入p.StartInfo.RedirectStandardOutput=true;//重定向標準輸出p.StartInfo.RedirectStandardError=true;//重定向錯誤輸出p.StartInfo.CreateNoWindow=true;//設置不顯示窗口p.Start();//啟動//p.StandardInput.WriteLine(command);//也可以用這種方式輸入要執行的命令//p.StandardInput.Wri
3、teLine("exit");//不過要記得加上Exit要不然下一行程式執行的時候會當機returnp.StandardOutput.ReadToEnd();//從輸出流取得命令執行結果}privatestaticSearchResultCollection_ADHelper(stringdomainADsPath,stringusername,stringpassword,stringschemaClassNameToSearch){DirectorySearchersearcher=newDirectorySearcher();searcher.
4、SearchRoot=newDirectoryEntry(domainADsPath,username,password);searcher.Filter="(objectClass="+schemaClassNameToSearch+")";searcher.SearchScope=SearchScope.Subtree;searcher.Sort=newSortOption("name",SortDirection.Ascending);//Ifthereisalargesettobereturnserpagesizeforapagedsearc
5、hsearcher.PageSize=512;searcher.PropertiesToLoad.AddRange(newstring[]{"name","Path","displayname","samaccountname","mail"});SearchResultCollectionresults=searcher.FindAll();returnresults;//参数domainADsPath是活动目录的域名,使用类似"LDAP://域名"的形式//参数schemaClassNameToSearch是过滤条件,//objectClass=
6、user查询条件是所有的用户(USER)}publicGetUserList(){}publicstring[]ListUsers(){stringpath="LDAP://IP/CN=Users,DC=idm,DC=gad,DC=nec,DC=com,DC=cn";//IP:ADIP地址//DC:域例如sina.com,cn可以写为DC=sina,DC=com,DC=cn//CN:数据对象指定要获取的内容returnListUsers(path);}publicstring[]ListUsers(stringpath){try{DirectoryE
7、ntryentry=newDirectoryEntry(path);DirectorySearchersearcher=newDirectorySearcher(entry);searcher.Filter="(objectClass=*)";searcher.PropertiesToLoad.Clear();SearchResultCollectionsearchResultCollection=searcher.FindAll();returnVisitSearchResultCollection(searchResultCollection);
8、}catch(Exceptionex){log.Debug(ex.Message);returnnewstr