DEMO程序连接到域控服务器( C#开发AD域控自动工具之二)_c#电脑加入ad域_刘欣的博客的博客-程序员宅基地

技术标签: C# 开发 AD域控管理工具  # C#开发AD域控自动工具  

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

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

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

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

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

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

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

 

开发环境:VS2017   .net framework 4.7.2

域控服务器:WIN2008R2 SERVER

 

打开VS2017,新建一个WINFORM项目。

我们放上一个TAB控件,把2个页签改成:用户、组织OU

在“用户”页签,我们放一个toolstripContainer,在容器中再放入SplitContainer,然后上面放一个工具栏,下面放一个状态栏。

左边放一个listbox用来显示日志文本,右边放一堆demo按钮。

 登陆域控服务器的用户、密码等等参数,我放到WINFORM自己带的config文件中:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
  
  <appSettings>
    <add key ="AD_admin"      value="administrator"></add>
    <add key ="AD_password"   value="Test123456789"></add>
    <add key ="AD_LDAP"       value="LDAP://192.168.155.250"></add>
    <add key ="AD_DC1"        value="adserv"></add>
    <add key ="AD_DC2"        value="com"></add>
  </appSettings>
  
</configuration>

要用系统功能来读App.config文件,我们要添加一个系统的引用:

我们还要在头文件声明一下引用:

程序加载的时候,我们把域控的参数,都放到全局变量中:

 

我们还需要引用一个系统的类库来操作AD:System.DirectoryServices,引用方法同上面的使用config功能一样。

为了能够去修改用户的密码,在后面我们还要作第三个引用,后面遇到再写。

然后我们作一个函数去连接域控服务器:


        private void IsConnected(string domainName, string userName, string userPwd)
        {          
            try
            {
                DirectoryEntry domain = new DirectoryEntry();
                domain.Path = domainName;
                domain.Username = userName;
                domain.Password = userPwd;
                domain.AuthenticationType = AuthenticationTypes.Secure;
                domain.RefreshCache();

                ps(listBox1, "AD服务器连接成功");                
            }

            catch (Exception ex)
            {
                ps(listBox1, ex.Message);
            }
        }


        public void ps(ListBox box, string s)
        {
            String line = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + s;
            box.Items.Add(line);

        }

好了,我们把这个函数放到按钮中,运行一下,程序卡住了。

原来,AD域控服务器虚拟机还没有开起来,把域控服务器打开。

再点一下按钮,OK,AD域服务器连接成功。

 

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ot512csdn/article/details/89203590

智能推荐

最简单的基于FFmpeg的推流器(以推送RTMP为例)_ffmpeg rtmp compress-程序员宅基地

由于工作一部分工作是作为流媒体服务器的程序员。所以自己那块也算是处理了推流器的一块代码吧。这边是从网上转载的文章,原文:http://blog.csdn.net/leixiaohua1020/article/details/46890487=====================================================最简单的基于FFmpeg的_ffmpeg rtmp compress

Jquery在两个HTML页面之间传递参数_jqueryhtml页面传值-程序员宅基地

待跳转页面JS:function openreverspage() { var row = $("#dg").datagrid('getSelected'); alert(row.plane_type); if (row) { window.location.href = "addorder.jsp?plane_type=" + escape_jqueryhtml页面传值

对于MCU和DSP以及DAC技术的新认识_dsp芯片与dac芯片之间的通讯-程序员宅基地

SPI通讯方式速度快,常用在外挂flash读写接口。DSP自己内部没有flash,使用PC机或者MCU 通过SPI直接把代码下载在DSP的RAM区域。还有一点就是TDM技术在多音频通道中的应用,DAC也是TDM的数字输入方式,模拟音频输出驱动功放芯片。这块的芯片手册和时序需要研究下,要和DSP 的TDM输出通道对应起来配置。..._dsp芯片与dac芯片之间的通讯

angular6 页面传值_angular6 相同页面跳转参数不同 页面不刷新问题解决-程序员宅基地

最近做前端配置化查询页面时,多个查询配置为相同路由对应的同一个页面,只是参数不同,相同页面跳转时,出现了页面不刷新问题。尝试着在对应位置使用 this.ref.markForCheck(); this.ref.detectChanges(); 也必须滚动滚动条才能驱动页面更新。。调试发现,页面刷新了,有些原始数据已经渲染上去,但ngOnInit()函数没有执行,想着在constructor里面手..._angular this.router.navigate未触发ngoninit

laravel框架之路由(route)_laravel route-程序员宅基地

路由:将用户的请求按照事先规划的方案提交给指定的控制器或者功能函数来进行处理通俗的说:就是访问地址的形式路由配置文件:routes/web.php文件前情提要:laravel中的项目入口文件在public/index.php所以路由前都要加index.php,就很烦,看起来很不舒服。解决:(1)Apache开启laravel重写路由 ①加载Apache的Rewrite模块,找到下面的选项,去掉前面的#号注释LoadModule rewrite_module ..._laravel route

如何在CSDN中免费下载资料_csdn免费下载方法-程序员宅基地

如何在CSDN中免费下载资料下载积分攻略:1. 个人设置里进行手机绑定CSDN账户 奖励50分 (右上角设置-账户安全-手机绑定)2. 完成任务送若干分积分 http://task.csdn.net/3. 上传有效资源获取积分(上传非法,广告资源用户,将被扣除一定积分,严重者封号)。· 上传自己设分资源被下载,下载量×资源分,100分封顶。· 上传0分资源被下载,下载量×系统..._csdn免费下载方法

随便推点

在Ubuntu17.10中安装Oracle JDK1.8-程序员宅基地

在Ubuntu17.10中安装Oracle JDK1.8很多情况下,linux中都需要jdk,jre来支持,才能运行一些程序。那么如何来安装jdk,请看下文。1.使用java -version命令确认系统中是否已经存在jdk。 2.通过终端在/usr/local目录下新建java文件夹,命令行:sudo mkdir /usr/local/java3.将从oralce官网下载到的压缩

算法分析 - 哈夫曼编码(贪心算法) (新)_使用贪心算法求解huffman编码问题,具体来说就是,根据每个字符的出现频率,使用最小-程序员宅基地

【问题描述】使用贪心算法求解Huffman编码问题,具体来说就是,根据每个字符的出现频率,使用最小堆构造最小优先队列,构造出字符的最优二进制表示,即前缀码。在程序开始说明部分,简要描述使用贪心算法求解Huffman编码问题的算法过程。【输入形式】在屏幕上输入字符个数和每个字符的频率。【输出形式】每个字符的Huffman编码。【样例输入】645 13 12 16 9 5【样例输出】a 0b 101c 100d 111e 1101f 1100【样例说明】输入:字符个数为6,a至f每._使用贪心算法求解huffman编码问题,具体来说就是,根据每个字符的出现频率,使用最小

python猜数字统计游戏次数_猜数字游戏(Python)-程序员宅基地

在Python3中工作。在我对Python还比较陌生(只有几个星期的知识)。在这个程序给我的提示是写一个随机数游戏,用户必须猜出随机数(1到100之间),如果不正确,就会提示它太低或太高。然后用户会反复猜测,直到找到解决方案。在解出后,猜测的次数应该在最后吻合。在import randomdef main():# initializationhigh = 0low = 0win = 0number..._python中怎么统计用户猜了多少个数据

js实现2048小游戏-程序员宅基地

用js写的2048小游戏,写的不是太精细,喜欢的可以看看,欢迎指出代码中的错误。页面class="hidden" id="end" > id="endspan">id="table"> colspan="4"> 2048小游戏

为什么打不开IDEA或webStorm官方网页?_webstorm无法找到入口-程序员宅基地

为什么打不开IDEA或webStorm官方网页?一,问题描述:问题如下: 打开IDEA和webStorm的官方网页出现如下情况:Idea官方网页:https://www.jetbrains.com/idea/webStorm官方网页: https://www.jetbrains.com/webstorm/..._webstorm无法找到入口

h264编码算法由浅入深(二)算数编码-程序员宅基地

也是一种概率编码。例如有一个串a,b,c,d,a,d,a,c,dp(a) = 0.375p(b) = 0.125p(c) = 0.25p(d) = 0.375总体思想是:把1分成元素个数份,每一份大小为概率值按字符出现的位置标记出现的段。具体标记方法下面文章有详细介绍。具体实现细节可以参考文章:http://blog.csdn.net/l294265421/article/details/544...

推荐文章

热门文章

相关标签