首页 文章 精选 留言 我的

精选列表

搜索[向量检索],共9850篇文章
优秀的个人博客,低调大师

通过VBA检索AD中的用户

VBA作为一种被用在Microsoft Office产品中的脚本语言,功能实际上是很强大的,这要归功于它继承了Visual Basic的很多优良传统,如我们可以在VBA工程中像VB 6一样引入类库或ActiveX控件。当然,你在VB 6中使用的组件或控件也完成可以在VBA中使用,例如日期输入组件。 VBA支持ADO,这也意味着我们可以在VBA中操作数据库,包括SQL Server、Access等。正因为如此,你可以尝试着在Excel中编写一个VBA程序来将Excel作为一个用于数据同步的中间件,该中间件可以用来同步应用程序与后台数据库中的数据,并在其中做一些处理。这是完全可以做到的!我在之前的一个项目中就曾做过这样的例子,我们甚至通过Excel同步了SQL Server和Sharepoint List之间的数据(这个我会在随后的一些中再做介绍)。 ADO的功能也很强大,我们可以在其中执行Windows脚本,经常使用的就是通过它来管理Windows Server的AD,如遍历AD中的账户,批量修改AD中的账户等,这已经没有什么好奇怪的了,你完全可以在Windows上使用记事本编写一个vbs脚本,然后直接使用它来管理你服务器上的AD,当然,基于安全考虑,这些都是需要适当的执行权限的。这些工作通过VBA也可以完成,并且在Excel中你会发觉有的时候很方便,如借用Excel现有的UI来展现所操作的数据;基于所查询的数据来生成图表;使用Excel提供的功能修改数据;遍历和组织数据的方便性等等... 下面我给出一个示例。在新的Sheet中添加一个ActiveX Button,然后添加下面的代码。 Private Sub CommandButton1_Click() On Error Resume Next Const ADS_SCOPE_SUBTREE = 2 Set objConnection = CreateObject ( " ADODB.Connection " ) Set objCommand = CreateObject ( " ADODB.Command " ) objConnection.Provider = " ADsDSOObject " objConnection.Open " Active Directory Provider " Set objCommand.ActiveConnection = objConnection objCommand.Properties( " Page Size " ) = 1000 objCommand.Properties( " Searchscope " ) = ADS_SCOPE_SUBTREE objCommand.CommandText = _ " SELECT Name FROM 'LDAP://dc=XXX,dc=com' WHERE objectCategory='user' " ' search all users from the domn XXX Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst Dim currCell As Range Set currCell = Range( " A1 " ) Do Until objRecordSet.EOF currCell.Value = objRecordSet.fields( " Name " ).Value Set currCell = currCell.Offset( 1 , 0 ) objRecordSet.MoveNext Loop End Sub 代码中我使用了一个假象的域名称XXX,读者如果想要测试可将其改成真实的域名称。我们使用ADO对所指定的域进行了用户查询,并将域中所有用户的Name依次输出到Excel当前Sheet的第一列中,下面是输出结果的部分截图。 有关如何通过脚本操作AD,读者可以参考一下Microsoft的官方文档http://www.microsoft.com/technet/scriptcenter/guide/sas_usr_ykxh.mspx?mfr=true 如果权限允许,稍微修改一下上面的代码,完全可以实现批量修改AD中的账户的功能,鉴于公司网络环境,这里不方便进行测试了,读者如果有条件可以自己尝试。 本文转自Jaxu博客园博客,原文链接:http://www.cnblogs.com/jaxu/archive/2009/06/18/1505849.html,如需转载请自行联系原作者

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册