对用户按条件添加一个工作站的绑定( C#开发AD域控自动工具之六)

博客围绕C#开发AD域控自动工具展开,涵盖搭建开发环境、连接域控服务器、创建用户等内容。还提及具体需求,如登陆名称绑定计算机名、把用户加入组等,最后展示了为部分用户添加工作站并记录日志的功能实现及工作成果。

搭建一个开发环境( C#开发AD域控自动工具之一)

DEMO程序连接到域控服务器( C#开发AD域控自动工具之二)

DEMO程序 创建一个用户( C#开发AD域控自动工具之三)

第一个需求,登陆名称绑定计算机名( C#开发AD域控自动工具之四)

流程集成的一个小例子( C#开发AD域控自动工具之四续)

把用户加入组( C#开发AD域控自动工具之五)

对用户按条件添加一个工作站的绑定( C#开发AD域控自动工具之六)

 

接到一个需求:把添加了jk-s-mail04、jk-s-mail05、jk-s-mail06工作站的用户,再添加一个jk-s-mail07工作站。

看了一下AD域控的用户总数,有14512人。

下面的代码实现这个功能,并对“添加jk-s-mail07工作站”的用户记录下了日志。

程序工作了20分钟,完成对7546个用户的“jk-s-mail07”工作站添加。

 

 public static string tt = DateTime.Now.ToString("yyyyMMddHHmmssff") + " log.txt";
//日志处理(1/4)
public static StreamWriter sw = new StreamWriter(tt, true, Encoding.GetEncoding("gb2312"));


        //把添加了jk-s-mail04、jk-s-mail05、jk-s-mail06的用户,批量添加jk-s-mail07
        private void button11_Click(object sender, EventArgs e)
        {

            //线程
            Control.CheckForIllegalCrossThreadCalls = false;
            Thread m1Thread = new Thread(new ThreadStart(m1));
            m1Thread.IsBackground = true;
            m1Thread.Start();

        }

        private void m1()
        {         



            //不指定OU,我们对根作查询操作
            DirectoryEntry objDE = new DirectoryEntry("LDAP://10.xx.xx.xx" + "/" + "DC=" + "myad" + ",DC=" + "com", "adminxxx", "Testxxx");

            //OU下的用户全部找出来
            string strFilter = "(&(objectCategory=person)(objectClass=user))";
            DirectorySearcher objSearcher = new DirectorySearcher(objDE, strFilter);
            //objSearcher.Sort = new SortOption("name", SortDirection.Ascending);//排序
            SearchResultCollection src = objSearcher.FindAll();          

            int i = 0; int k = 0;
            foreach (SearchResult one in src)
            {
                i++;
                toolStripStatusLabel1.Text= i.ToString();

                    DirectoryEntry de = one.GetDirectoryEntry();
                    string oldws = Convert.ToString(de.Properties["userWorkstations"].Value); //注意这里null用convert
                    string[] szold = oldws.Split(',');

                    int a = 0, b= 0, c = 0,d = 0;
                    foreach (string pc in szold)
                        {
                        if (pc.Equals("jk-s-mail04")) a = 1;
                        if (pc.Equals("jk-s-mail05")) b = 1;
                        if (pc.Equals("jk-s-mail06")) c = 1;
                        if (pc.Equals("jk-s-mail07")) d = 1;
                        }

                        if ( ((a+b+c) == 3) && (d == 0) )
                        {                   
                        listBox1.Items.Insert(0, de.Properties["sAMAccountName"].Value.ToString());

                        //日志处理(2/4)
                        sw.WriteLine(de.Properties["sAMAccountName"].Value.ToString());

                        k++;
                        toolStripStatusLabel2.Text = "符合条件的用户数:"+ k.ToString();

                        de.Properties["userWorkstations"].Value = de.Properties["userWorkstations"].Value + ",jk-s-mail07";
                        de.CommitChanges();
                        }

            }

            //日志处理(3/4)
            sw.Flush(); //缓存区写文件

            //日志处理(4/4)
            sw.Close();

        }

 

客户端加入之---Profwiz的使用 要发挥微软活动目录的强大功能的前提工作就是:把公司里的所有客户端计算机加入。单纯的入操作虽然简单,可后续的权限修改、User Profile迁移、频繁的重启计算机等工作可能会让你捣鼓一整天才把不够10台计算机加入!今天给大家推荐一款微软合作伙伴开发的免费工具:Profwiz,使用Profwiz可以一次性的完成3项工作:把计算机入、本地用户Profile迁移到用户下和赋予用户本地管理员权限。 1.右击任务栏右下角的本地连接或者在开始—制面板打开网络和共享中心在,点击本地连接。 2.点击本地连接的属性—TCP/IPV4—设置首选DNS:192.168.18.254 备用DNS服务器: 202.96.134.133 3.修改计算机名字,如santom,计算机名修改完毕后必须重启电脑。 把Profwiz.exe下载,无需注册,无需安装,双击打开即可使用。 1) 双击打开Profwiz.exe点击下一步; 2) 输入加入(risecomm.it)和将来使用的帐户,这里测试账号 (santom),记得勾选Join Domain和Set as default logon,点击下一步; 3) 选择要迁移给用户用户配置文件(加前账户),点击下一步; 4) 在弹出的窗口中输入分配的账户和密码,点击OK即开始工作; PS:这里的时间是由加之前桌面的文件大小决定 5)完成之后,重启一次计算机并使用用户登陆,你就会发现计算机已经加入到,相应的User Profile已经迁移到用户下,而且,用户已经加入到本地管理员组! 已经验证测试环境:XP_32位、Win7_32、Win7_64
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘欣的博客

你将成为第一个打赏博主的人!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值