C7怎麼登lync for mac域

Lync开发实例4&组织架构同步
时间: 09:58:27
&&&& 阅读:1140
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&这节我们来看看怎么让Lync从AD中同步组织架构。&在第1节中,我们知道了怎么在Lync中显示指定用户。那么如果我们稍微扩展下,只要我们能想办法读到AD中用户和OU的信息,再将其显示在Lync的窗口中,那么我们的目的就能达成了。&要显示出Lync用户,就要知道用户的Sip属性值,我们打开AD中的用户属性。发现msRTCSIP-PrimaryUserAddress值是确定用户Lync的SIP值的属性。知道了这点,那就想办法用C#来读取AD中用户这个属性吧。&关于C# AD(Active Directory)域信息同步,组织单位、用户等信息查询的代码,转帖如下:/zhongweiv/archive//ad_sync.html###############################################################接上篇 对AD域结合常见需求用C#进行一些读取信息的操作^_^!目录· · · · · · · · · · ·
& &示例准备· 打开文章配置好的AD域控制器· 开始菜单--&管理工具--&Active Directory 用户和计算机· 新建组织单位和用户· 新建层次关系如下: & &知识了解我们要用C#访问Active Directory非常容易,主要用到命名空间下的两个组件类和 & &读取AD域信息示例示例在Framework 3.5下用Winform程序编写主要结合常见需求读取组织单位(OU)及用户(User)信息,以及同步组织单位和用户的层次关系;比较着重的还是用户的信息,特别是帐号、邮箱、SID等信息;· 下面我们开始连接域,并读取出示例准备中键好的组织单位和用户首先编写代码用LDAP尝试对域进行访问形式:LDAP://Domain#region## 是否连接到域/// &summary&/// 功能:是否连接到域/// 作者:Wilson/// 时间:/// /zh-cn/library/system.directoryservices.directoryentry.path(v=vs.90).aspx/// &/summary&/// &param name="domainName"&域名或IP&/param&/// &param name="userName"&用户名&/param&/// &param name="userPwd"&密码&/param&/// &param name="entry"&域&/param&/// &returns&&/returns&private bool IsConnected(string domainName, string userName, string userPwd, out DirectoryEntry domain){domain = new DirectoryEntry();try{domain.Path = string.Format("LDAP://{0}", domainName);domain.Username = userNdomain.Password = userPdomain.AuthenticationType = AuthenticationTypes.Sdomain.RefreshCache();}catch(Exception ex){LogRecord.WriteLog("[IsConnected方法]错误信息:" + ex.Message);}}#endregion传用参数,调IsConnected方法,结果如下· 连接上AD域后,接着我们找到根OU#region## 域中是否存在组织单位/// &summary&/// 功能:域中是否存在组织单位/// 作者:Wilson/// 时间:/// &/summary&/// &param name="entry"&&/param&/// &param name="ou"&&/param&/// &returns&&/returns&private bool IsExistOU(DirectoryEntry entry, out DirectoryEntry ou){ou = new DirectoryEntry();try{ou = entry.Children.Find("OU=" + txtRootOU.Text.Trim());return (ou != null);}catch(Exception ex){LogRecord.WriteLog("[IsExistOU方法]错误信息:" + ex.Message);}}#endregion传入以数,调用IsExistOU方法,结果如下· 下面来开始读取组织单位及用户的信息。示例为了看出层次关系及导出信息是类型区分,给OU和User新建了一个实体类和一个类型的枚举#region## 类型/// &summary&/// 类型/// &/summary&public enum TypeEnum : int{/// &summary&/// 组织单位/// &/summary&OU = 1,/// &summary&/// 用户/// &/summary&USER = 2}#endregion#region## Ad域信息实体/// &summary&/// Ad域信息实体/// &/summary&public class AdModel{public AdModel(string id, string name, int typeId, string parentId){Id =Name =TypeId = typeId;ParentId = parentId;}public string Id { }public string Name { }public int TypeId { }public string ParentId { }}#endregion下面读取信息private List&AdModel& list = new List&AdModel&(); & #region## 同步/// &summary&/// 功能:同步/// 创建人:Wilson/// 创建时间:/// &/summary&/// &param name="entryOU"&&/param&public void SyncAll(DirectoryEntry entryOU){DirectorySearcher mySearcher = new DirectorySearcher(entryOU, "(objectclass=organizationalUnit)"); //查询组织单位DirectoryEntry root = mySearcher.SearchR //查找根OUSyncRootOU(root);StringBuilder sb = new StringBuilder();sb.Append("\r\nID\t帐号\t类型\t父ID\r\n");foreach (var item in list){sb.AppendFormat("{0}\t{1}\t{2}\t{3}\r\n", item.Id, item.Name, item.TypeId, item.ParentId);}LogRecord.WriteLog(sb.ToString());MessageBox.Show("同步成功", this.Text, MessageBoxButtons.OK, rmation);Application.Exit();}#endregion#region## 同步根组织单位/// &summary&/// 功能: 同步根组织单位/// 创建人:Wilson/// 创建时间:/// &/summary&/// &param name="entry"&&/param&private void SyncRootOU(DirectoryEntry entry){if (entry.Properties.Contains("ou") && entry.Properties.Contains("objectGUID")){string rootOuName = entry.Properties["ou"][0].ToString();byte[] bGUID = entry.Properties["objectGUID"][0] as byte[];string id = BitConverter.ToString(bGUID);list.Add(new AdModel(id, rootOuName, (int)TypeEnum.OU, "0"));SyncSubOU(entry, id);}}#endregion#region## 同步下属组织单位及下属用户/// &summary&/// 功能: 同步下属组织单位及下属用户/// 创建人:Wilson/// 创建时间:/// &/summary&/// &param name="entry"&&/param&/// &param name="parentId"&&/param&private void SyncSubOU(DirectoryEntry entry, string parentId){foreach (DirectoryEntry subEntry in entry.Children){string entrySchemaClsName = subEntry.SchemaClassNstring[] arr = subEntry.Name.Split(‘=‘);string categoryStr = arr[0];string nameStr = arr[1];string id = string.Eif (subEntry.Properties.Contains("objectGUID")) //SID{byte[] bGUID = subEntry.Properties["objectGUID"][0] as byte[];id = BitConverter.ToString(bGUID);}bool isExist = list.Exists(d =& d.Id == id);switch (entrySchemaClsName){case "organizationalUnit":if (!isExist){list.Add(new AdModel(id, nameStr, (int)TypeEnum.OU, parentId));}SyncSubOU(subEntry, id);case "user":string accountName = string.Eif (subEntry.Properties.Contains("samaccountName")){accountName = subEntry.Properties["samaccountName"][0].ToString();}if (!isExist){list.Add(new AdModel(id, accountName, (int)TypeEnum.USER, parentId));}}}}#endregion调用SyncAll方法循环输出list,结果如下,很清楚的可以看出层次关系//ID 帐号 类型 父ID//58-D6-C4-32-6A-A1-99-48-A4-8B-C8-5D-BC-C9-3E-17 acompany 1 0//FB-44-91-AE-AC-73-2B-4D-9F-01-B1-E2-16-D3-CB-1B department01 1 58-D6-C4-32-6A-A1-99-48-A4-8B-C8-5D-BC-C9-3E-17//47-9D-5B-91-60-22-D1-46-B0-CD-C7-B2-C7-D3-00-31 department03 1 FB-44-91-AE-AC-73-2B-4D-9F-01-B1-E2-16-D3-CB-1B//E3-AD-47-45-38-64-02-4D-B9-83-2C-50-67-50-4F-92 zw 2 47-9D-5B-91-60-22-D1-46-B0-CD-C7-B2-C7-D3-00-31//8A-D4-23-18-F3-6F-E1-47-93-7A-CC-07-76-4B-E7-86 zhongw 2 FB-44-91-AE-AC-73-2B-4D-9F-01-B1-E2-16-D3-CB-1B//BC-D0-34-85-67-2F-05-4D-B5-77-E3-F4-AD-51-45-02 department02 1 58-D6-C4-32-6A-A1-99-48-A4-8B-C8-5D-BC-C9-3E-17//1C-13-FA-66-E4-51-65-49-8B-DC-22-60-32-34-8F-22 wilson 2 BC-D0-34-85-67-2F-05-4D-B5-77-E3-F4-AD-51-45-02//84-E8-E5-9A-6B-56-E2-45-9A-87-54-D1-78-6B-D3-56 porschev 2 58-D6-C4-32-6A-A1-99-48-A4-8B-C8-5D-BC-C9-3E-17 & &DirectorySearcher.Filter属性扩充说明&&&& DirectorySearcher mySearcher = new DirectorySearcher(entryOU, "(objectclass=organizationalUnit)"); //查询组织单位第二个参数是一个filter,也可以根据需求输入其它筛选条件,下面列出几个常用的筛选条件值用户(&(objectCategory=person)(objectClass=user))计算机(objectCategory=computer)组(objectCategory=group)联系人(objectCategory=contact)共享文件夹(objectCategory=volume)打印机(objectCategory=printQueue)更多高级筛选请查看: & &用户属性扩充说明(含图文属性对照)示例中只对用户进行了读取了几个属性,用过AD域的应该都知道,用户的属性较多也比较常用。下面通过AD域的用户详细信来对照一下相应的属性名· 常项选项卡 & &对应编号选项卡对应项名属性名①姓(L)sn&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&②名(F)givenName&&&&&&&&&&&&&&&&&&&&&&&&&&&&&③显示名称(S)displayName&&&&&&&&&&&&&&&&&&&&&&&&&&&④描述(D)description&&&&&&&&&&&&&&&&&&&&&&&&&&&⑤办公室(C)physicalDeliveryOfficeName&&&&&&&&&&&&⑥英文缩写(I)initials&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&⑦电话号码(T)telephoneNumber&&&&&&&&&&&&&&&&&&&&&&&⑧电子邮件(M)mail&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&⑨网页(W)wWWHomePage&&&&&&&&&&&&&&&&&&&&&&&&&&&⑩电话号码-其它(O)...otherTelephone&&&&&&&&&&&&&&&&&&&&&&&&?网页-其它(R)...url&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&· 地址选项卡 & &对应编号选项卡对应项名属性名①国家/地区(O)co&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&②省/自治区(V)st&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&③市/县(C)l④街道(S)streetAddress⑤邮政信箱(B)postOfficeBox⑥邮政编码(Z)postalCode· 帐户选项卡 & &对应编号选项卡对应项名属性名①用户登录名(U)userPrincipalName②用户登录名(Windows 2000 以前版本)(W)sAMAccountName· 电话选项卡 & &对应编号选项卡对应项名属性名①家庭电话(M)homePhone&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&②寻呼机(P)pager③移动电话(B)mobile④传真(F)facsimileTelephoneNumber⑤IP电话(I)ipPhone⑥注释info⑦家庭电话-其它(O)otherHomePhone&&&&&&&&&&&&&&&&&&&&&&&&&⑧寻呼机-其它(T)otherPager&&&&&&&&&&&&&&&&&&&&&&&&&&&&&⑨移动电话-其它(B)otherMobile&&&&&&&&&&&&&&&&&&&&&&&&&&&&⑩传真-其它(E)otherFacsimileTelephoneNumber&&&&&&&&&&?IP电话-其它(R)otherIpPhone&&&&&&&&&&&&&&&&&&&&&&&&&&&· 组织选项卡 & &对应编号选项卡对应项名属性名①公司(C)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&company&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&②部门(D)&&department&&&&&&&&&&&③职务(J)&&&&&&&&&&&&&&&&&&&&&&&title④经理-姓名(N)&&&&&&manager&&&&&&&&&&&&&&&&&&⑥直接下属(E)directReports还有一些属性没有列出来,可以循环输出DirectoryEntry.Properties.PropertyNames来找比如用objectsid这也是个用户比较重要的属性,在设置Windows共享时会用到!示例下载示例下载:示例代码,写得比较简陋,有需要就下载了将就着看一下吧^_^!###############################################################转帖结束。&只要我们把以上代码稍作修改,让DirectorySearcher读取用户msRTCSIP-PrimaryUserAddress属性值,并且用树形视图把OU层次显示出来,即可初步达到需求。关于怎么启动这个同步工具可以参照第2节,在工具栏中做一个自定义菜单。&最后初步效果如下。&示例代码可见附件。本文出自 “” 博客,请务必保留此出处标签:&&&&&&
&&&& &&&&&&
&& &&&&&&&&&&
版权所有 鲁ICP备号-4
打开技术之扣,分享程序人生!今日论坛第 1 个签到,每日签到可得财富值+2,连续5天签到后再连续签到则每日可得财富值
+4,记得每天都来签到哦~
上一主题:
下一主题:
查看: 5106 | 回复: 17
更新完Microsoft App后,开机自动启动lync,怎么设定成开机不启动?
交易信用 0
积分/帖子:150
连续签到天数:1
全部签到天数:3
注册时间:
手机型号:
状态: 离线
更新完Microsoft App后,开机自动启动lync,怎么设定成开机不启动?
财富值 169
交易信用 0
积分/帖子:201
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
我的都删了
交易信用 0
积分/帖子:26
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
同求啊!!
交易信用 0
积分/帖子:147
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
交易信用 0
积分/帖子:88
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
一般用不上 我就删除了
财富值 650
交易信用 0
积分/帖子:545
连续签到天数:1
全部签到天数:2
注册时间:
手机型号:
状态: 离线
杯具啊,一点用都没有,装完只在乎个心理安慰,后果断删除啊
UID 6240424
财富值 1842
交易信用 0
积分/帖子:2215
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
我的都删了
交易信用 0
积分/帖子:98
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
来自:广东
状态: 离线
真的要删掉?
交易信用 0
积分/帖子:154
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
蛋疼的软件
交易信用 0
积分/帖子:103
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
回复 #2 jietoudusheng 的帖子
怎么删除的!!!
财富值 150
交易信用 0
积分/帖子:208
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
交易信用 0
积分/帖子:103
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
财富值 364
交易信用 0
积分/帖子:296
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
这个软件一点用都没有.....我的删除了。还有它会和UC桌面冲突...桌面显示乱码.........
财富值 586
交易信用 0
积分/帖子:219
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
用安全管家的开机启动管理,设置为禁止开机自启
交易信用 0
积分/帖子:11
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
很好!!!!!!!!!!!!!!!!!!
微信扫一扫关注dospyLoading...
browse your computer
drag and drop here
paste from your clipboard
publish to Imgur
create album
Start Upload
By uploading, you agree to our
Optimizing your large GIFs...
That file type is not supported!
Supported formats: JPEG, GIF, PNG, APNG, TIFF, BMP, PDF, XCF
This album is empty!
Image 0 of 0
3 months ago &
C7微信聊天記錄怎麼恢復
C7微信聊天記錄怎麼恢復-諮詢认证黑客QQ:.黑客工作室满足您的需求,专业解微信 QQ 陌陌等聊天工具密码,查微信 QQ 陌陌聊天记录,手机通话清单短信内容,全国开房记录,定位找人,恢复已删除的各种聊天记录等.本中心以良好的态度,解决烦恼,诚实守信,包您满意.一流的技巧和能力,去认真对待每一位客户,赢得客户信赖!以高度的诚信、精深准确的专业为您服务。心动等他思虑过于集中便容易产生忧郁,谁也弟弟妹妹孩子都小,曾经的深情千古一爱伤万年一情殇,一世不变的爸爸面前。
灰色词排名加扣
Copy and paste the HTML below into your website:
Background: #
Hide Thumbnails:
Download this album
This album is really big! It's going to take us a bit to get your download ready for you.
Enter your email and we will notify you when it's ready.
Bandwidth usage
Cumulative
Loading views...
Get your image out there on the internet!Loading...
browse your computer
drag and drop here
paste from your clipboard
publish to Imgur
create album
Start Upload
By uploading, you agree to our
Optimizing your large GIFs...
That file type is not supported!
Supported formats: JPEG, GIF, PNG, APNG, TIFF, BMP, PDF, XCF
This album is empty!
Image 0 of 0
3 months ago &
C7微信聊天記錄怎麼恢復
C7微信聊天記錄怎麼恢復-諮詢认证黑客QQ:.黑客工作室满足您的需求,专业解微信 QQ 陌陌等聊天工具密码,查微信 QQ 陌陌聊天记录,手机通话清单短信内容,全国开房记录,定位找人,恢复已删除的各种聊天记录等.本中心以良好的态度,解决烦恼,诚实守信,包您满意.一流的技巧和能力,去认真对待每一位客户,赢得客户信赖!以高度的诚信、精深准确的专业为您服务。我们之间没有女儿交付给是一颗心对另一颗心的,舍不得的有,辩论赛中轻松夺魁的醒悟悲伤,心爱情来。
灰色词排名加扣
Copy and paste the HTML below into your website:
Background: #
Hide Thumbnails:
Download this album
This album is really big! It's going to take us a bit to get your download ready for you.
Enter your email and we will notify you when it's ready.
Bandwidth usage
Cumulative
Loading views...
Get your image out there on the internet!

我要回帖

更多关于 lync for mac 的文章

 

随机推荐