[JWF]使用脚本访问ActiveDirectory(二)GetObject()
strContainer = "OU=系统维护室,OU=网管中心"
strName = "徐中"
On Error Resume Next
'***********************************************
'* Connect to an object *
'***********************************************
Set objRootDSE = GetObject("LDAP://rootDSE")
' objRootDSE.Get("defaultNamingContext") return value "DC=nmc,DC=ln,DC=cmcc"
If strContainer = "" Then
Set objItem = GetObject("LDAP://" & _
objRootDSE.Get("defaultNamingContext"))
Else
Set objItem = GetObject("LDAP://cn=" & strName & "," & strContainer & "," & _
objRootDSE.Get("defaultNamingContext"))
End If
'***********************************************
'* End connect to an object *
'***********************************************
WScript.Echo VbCrLf & "** General Properties Page**"
WScript.Echo "** (Single-Valued Attributes) **"
strname = objItem.Get("name")
WScript.Echo "name: " & strname
strgivenName = objItem.Get("givenName")
WScript.Echo "givenName: " & strgivenName
strinitials = objItem.Get("initials")
WScript.Echo "initials: " & strinitials
strsn = objItem.Get("sn")
WScript.Echo "sn: " & strsn
strdisplayName = objItem.Get("displayName")
WScript.Echo "displayName: " & strdisplayName
strdescription = objItem.Get("description")
WScript.Echo "description: " & strdescription
strphysicalDeliveryOfficeName = objItem.Get("physicalDeliveryOfficeName")
WScript.Echo "physicalDeliveryOfficeName: " & strphysicalDeliveryOfficeName
strtelephoneNumber = objItem.Get("telephoneNumber")
WScript.Echo "telephoneNumber: " & strtelephoneNumber
strmail = objItem.Get("mail")
WScript.Echo "mail: " & strmail
strwWWHomePage = objItem.Get("wWWHomePage")
WScript.Echo "wWWHomePage: " & strwWWHomePage
WScript.Echo VbCrLf & "** General Properties Page**"
WScript.Echo "** (MultiValued Attributes) **"
strotherTelephone = objItem.GetEx("otherTelephone")
WScript.Echo "otherTelephone:"
For Each Item in strotherTelephone
WScript.Echo vbTab & Item
Next
strurl = objItem.GetEx("url")
WScript.Echo "url:"
For Each Item in strurl
WScript.Echo vbTab & Item
Next
WScript.Echo VbCrLf & "** Address Properties Page**"
WScript.Echo "** (Single-Valued Attributes) **"
strstreetAddress = objItem.Get("streetAddress")
WScript.Echo "streetAddress: " & strstreetAddress
strl = objItem.Get("l")
WScript.Echo "l: " & strl
strst = objItem.Get("st")
WScript.Echo "st: " & strst
strpostalCode = objItem.Get("postalCode")
WScript.Echo "postalCode: " & strpostalCode
strc = objItem.Get("c")
WScript.Echo "c: " & strc
WScript.Echo VbCrLf & "** Address Properties Page**"
WScript.Echo "** (MultiValued Attributes) **"
strpostOfficeBox = objItem.GetEx("postOfficeBox")
WScript.Echo "postOfficeBox:"
For Each Item in strpostOfficeBox
WScript.Echo vbTab & Item
Next
WScript.Echo VbCrLf & "** Account Properties Page**"
WScript.Echo "** (Single-Valued Attributes) **"
struserPrincipalName = objItem.Get("userPrincipalName")
WScript.Echo "userPrincipalName: " & struserPrincipalName
strdc = objItem.Get("dc")
WScript.Echo "dc: " & strdc
strsAMAccountName = objItem.Get("sAMAccountName")
WScript.Echo "sAMAccountName: " & strsAMAccountName
struserWorkstations = objItem.Get("userWorkstations")
WScript.Echo "userWorkstations: " & struserWorkstations
WScript.Echo VbCrLf & "** Account Properties Page**"
WScript.Echo "** (The userAccountControl attribute) **"
Set objHash = CreateObject("Scripting.Dictionary")
objHash.Add "ADS_UF_SMARTCARD_REQUIRED", &h40000
objHash.Add "ADS_UF_TRUSTED_FOR_DELEGATION", &h80000
objHash.Add "ADS_UF_NOT_DELEGATED", &h100000
objHash.Add "ADS_UF_USE_DES_KEY_ONLY", &h200000
objHash.Add "ADS_UF_DONT_REQUIRE_PREAUTH", &h400000
intuserAccountControl = objItem.Get("userAccountControl")
For Each Key in objHash.Keys
If objHash(Key) And intuserAccountControl Then
WScript.Echo Key & " is enabled."
Else
WScript.Echo Key & " is disabled."
End If
Next
If objItem.IsAccountLocked = True Then
WScript.Echo "ADS_UF_LOCKOUT is enabled"
Else
WScript.Echo "ADS_UF_LOCKOUT is disabled"
End If
If err.Number = -2147467259 OR _
objItem.AccountExpirationDate = "1/1/1970" Then
WScript.Echo "Account doesn't expire."
Else
WScript.Echo "Account expires on: " & objItem.AccountExpirationDate
End If
WScript.Echo VbCrLf & "** Profile Properties Page**"
WScript.Echo "** (Single-Valued Attributes) **"
strprofilePath = objItem.Get("profilePath")
WScript.Echo "profilePath: " & strprofilePath
strscriptPath = objItem.Get("scriptPath")
WScript.Echo "scriptPath: " & strscriptPath
strhomeDirectory = objItem.Get("homeDirectory")
WScript.Echo "homeDirectory: " & strhomeDirectory
strhomeDrive = objItem.Get("homeDrive")
WScript.Echo "homeDrive: " & strhomeDrive
WScript.Echo VbCrLf & "** Telephone Properties Page**"
WScript.Echo "** (Single-Valued Attributes) **"
strhomePhone = objItem.Get("homePhone")
WScript.Echo "homePhone: " & strhomePhone
strpager = objItem.Get("pager")
WScript.Echo "pager: " & strpager
strmobile = objItem.Get("mobile")
WScript.Echo "mobile: " & strmobile
strfacsimileTelephoneNumber = objItem.Get("facsimileTelephoneNumber")
WScript.Echo "facsimileTelephoneNumber: " & strfacsimileTelephoneNumber
stripPhone = objItem.Get("ipPhone")
WScript.Echo "ipPhone: " & stripPhone
strinfo = objItem.Get("info")
WScript.Echo "info: " & strinfo
WScript.Echo VbCrLf & "** Telephone Properties Page**"
WScript.Echo "** (MultiValued Attributes) **"
strotherHomePhone = objItem.GetEx("otherHomePhone")
WScript.Echo "otherHomePhone:"
For Each Item in strotherHomePhone
WScript.Echo vbTab & Item
Next
strotherPager = objItem.GetEx("otherPager")
WScript.Echo "otherPager:"
For Each Item in strotherPager
WScript.Echo vbTab & Item
Next
strotherMobile = objItem.GetEx("otherMobile")
WScript.Echo "otherMobile:"
For Each Item in strotherMobile
WScript.Echo vbTab & Item
Next
strotherFacsimileTelephoneNumber = objItem.GetEx("otherFacsimileTelephoneNumber")
WScript.Echo "otherFacsimileTelephoneNumber:"
For Each Item in strotherFacsimileTelephoneNumber
WScript.Echo vbTab & Item
Next
strotherIpPhone = objItem.GetEx("otherIpPhone")
WScript.Echo "otherIpPhone:"
For Each Item in strotherIpPhone
WScript.Echo vbTab & Item
Next
WScript.Echo VbCrLf & "** Organization Properties Page**"
WScript.Echo "** (Single-Valued Attributes) **"
strtitle = objItem.Get("title")
WScript.Echo "title: " & strtitle
strdepartment = objItem.Get("department")
WScript.Echo "department: " & strdepartment
strcompany = objItem.Get("company")
WScript.Echo "company: " & strcompany
strmanager = objItem.Get("manager")
WScript.Echo "manager: " & strmanager
WScript.Echo VbCrLf & "** Organization Properties Page**"
WScript.Echo "** (MultiValued Attributes) **"
strdirectReports = objItem.GetEx("directReports")
WScript.Echo "directReports:"
For Each Item in strdirectReports
WScript.Echo vbTab & Item
Next
WScript.Echo VbCrLf & "** Environment Properties Page**"
WScript.Echo "** (The ADSI Extension for Terminal Services interface) **"
WScript.Echo "TerminalServicesInitialProgram: " & _
objItem.TerminalServicesInitialProgram
WScript.Echo "TerminalServicesWorkDirectory: " & _
objItem.TerminalServicesWorkDirectory
WScript.Echo "ConnectClientDrivesAtLogon: " & _
objItem.ConnectClientDrivesAtLogon
WScript.Echo "ConnectClientPrintersAtLogon: " & _
objItem.ConnectClientPrintersAtLogon
WScript.Echo "DefaultToMainPrinter: " & _
objItem.DefaultToMainPrinter
WScript.Echo VbCrLf & "** Sessions Properties Page**"
WScript.Echo "** (The ADSI Extension for Terminal Services interface) **"
WScript.Echo "MaxDisconnectionTime: " & _
objItem.MaxDisconnectionTime
WScript.Echo "MaxConnectionTime: " & _
objItem.MaxConnectionTime
WScript.Echo "MaxIdleTime: " & _
objItem.MaxIdleTime
WScript.Echo "BrokenConnectionAction: " & _
objItem.BrokenConnectionAction
WScript.Echo "ReconnectionAction: " & _
objItem.ReconnectionAction
WScript.Echo VbCrLf & "** Remote Control Properties Page**"
WScript.Echo "** (The ADSI Extension for Terminal Services interface) **"
WScript.Echo "EnableRemoteControl: " & _
objItem.EnableRemoteControl
Select Case objItem.EnableRemoteControl
Case 0
WScript.Echo "Remote Control disabled"
Case 1
WScript.Echo "Remote Control enabled"
WScript.Echo "User permission required"
WScript.Echo "Interact with the session"
Case 2
WScript.Echo "Remote Control enabled"
WScript.Echo "User permission not required"
WScript.Echo "Interact with the session"
Case 3
WScript.Echo "Remote Control enabled"
WScript.Echo "User permission required"
WScript.Echo "View the session"
Case 4
WScript.Echo "Remote Control enabled"
WScript.Echo "User permission not required"
WScript.Echo "View the session"
End Select
WScript.Echo VbCrLf & "** Terminal Services Profile Properties Page**"
WScript.Echo "** (The ADSI Extension for Terminal Services interface) **"
WScript.Echo "TerminalServicesProfilePath: " & _
objItem.TerminalServicesProfilePath
WScript.Echo "TerminalServicesHomeDirectory: " & _
objItem.TerminalServicesHomeDirectory
WScript.Echo "TerminalServicesHomeDrive: " & _
objItem.TerminalServicesHomeDrive
WScript.Echo "AllowLogon: " & _
objItem.AllowLogon
WScript.Echo VbCrLf & "** COM+ Properties Page**"
WScript.Echo "** (Single-Valued Attributes) **"
WScript.Echo "msCOM-UserPartitionSetLink: "
WScript.Echo " " & objItem.Get("msCOM-UserPartitionSetLink")
WScript.Echo VbCrLf & "** Member Of Properties Page**"
WScript.Echo "** (Single-Valued Attributes) **"
strprimaryGroupID = objItem.Get("primaryGroupID")
WScript.Echo "primaryGroupID: " & strprimaryGroupID
WScript.Echo VbCrLf & "** Member Of Properties Page**"
WScript.Echo "** (MultiValued Attributes) **"
strmemberOf = objItem.GetEx("memberOf")
WScript.Echo "memberOf:"
For Each Item in strmemberOf
WScript.Echo vbTab & Item
Next
WScript.Echo VbCrLf & "** Object Properties Page**"
WScript.Echo "** (Single-Valued Attributes) **"
strwhenCreated = objItem.Get("whenCreated")
WScript.Echo "whenCreated: " & strwhenCreated
strwhenChanged = objItem.Get("whenChanged")
WScript.Echo "whenChanged: " & strwhenChanged
objItem.GetInfoEx Array("canonicalName"), 0
WScript.Echo VbCrLf & "** Object Properties Page**"
WScript.Echo "** (MultiValued Attributes) **"
strcanonicalName = objItem.GetEx("canonicalName")
WScript.Echo "canonicalName:"
For Each Item in strcanonicalName
WScript.Echo vbTab & Item
Next
from : EzAD Scriptomatic
整理中...
文章来源:http://ms.mblogger.cn/xuzhong/posts/16800.aspx
[JWF]使用脚本访问ActiveDirectory(二)GetObject()相关推荐
- Shell脚本学习-阶段二
文章目录-Shell脚本学习阶段二 前言 shell脚本实操2 1.获取随机字符串或数字 2.定义一个颜色输出字符串函数 3.批量创建用户 4.检查软件包是否安装 5.检查服务状态 6.检查主机存活状 ...
- 第五课-第三讲05_03_bash脚本编程之二 条件判断
第五课-第三讲05_03_bash脚本编程之二 条件判断 变量名称:只能保含字母数字下划线,且不能数字开头.不能和系统中已存在的环境变量重名.见名知意 bash中如何实现条件判断? 条件测试类型: 整 ...
- shell脚本应用(二)
防伪码:会当凌绝顶,一览众山小! 第六章 shell脚本应用(二) 前言:为了使shell脚本具有一定的"判断"能力,根据不同的条件来完成不同的管理任务.使脚本具有一定的&quo ...
- java.io.FileNotFoundException异常,一是“拒绝访问”,二是“系统找不到指定路径”
java.io.FileNotFoundException异常,一是"拒绝访问",二是"系统找不到指定路径" 参考文章: (1)java.io.FileNotF ...
- 小米路由器硬盘文件怎么用电脑访问 方法二
小米路由器硬盘文件怎么用电脑访问 方法二 如果没有安装小米路由器PC客户端的话,也是可以访问的,我们可以使用映射网络驱动器的方法,打开计算机(我的电脑),选择工具-->映射网络驱动器,如下图 选 ...
- 教程:Nodejs大漠插件开发游戏脚本实战(二)搭建项目
一.使用nvm-windows安装Nodejs 上一篇文章我们说过我们需要用到32位的Nodejs,而且因为一些特殊原因,我们要用到指定的版本.为了不影响我们其他项目的开发,这里用到一个Nodejs的 ...
- 运维实践-最新Nginx二进制构建编译lua-nginx-module动态链接Lua脚本访问Redis数据库读取静态资源隐式展现...
关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 本章目录: 0x0n 前言简述 知识引入 Lua模块指令阶段 0x01 部署环境 安装说明 安 ...
- 浅浅认识之VBS脚本访问接口与COMODO拦截COM接口
这2天测试了一个使用了WMI提供ASEC后门,里面使用了JS脚本往外请求http获取执行命令.但我的分析系统却没抓到这个行为,可在真机中确实抓到有HTTP请求.相当奇怪. 最后无奈windbg出手,内 ...
- Shell 脚本知识回顾 (二) —— Shell变量
一.Shell变量:Shell变量的定义.删除变量.只读变量.变量类型 Shell支持自定义变量. 定义变量 定义变量时,变量名不加美元符号($),如: [cpp] view plaincopy va ...
- sh 脚本 访问 路径 权限不够_IC设计之脚本语言介绍
冬天来了,天气好冷,钻在被窝里不肯出来,不知不觉2020年就过去了,时间过得真快 本文主要是想简单介绍一些常用的脚本(script)语言,学以致用,一个看似复杂的脚本,其实也是由很多简单的linux指 ...
最新文章
- cookies java,java 中 Cookie的用法
- C# WebAPI设置跨域
- 【Java作业】实验二 货物进销管理系统(运行成功完整代码
- 天猫总架构师何崚:好的技术团队不是“需求翻译机”或“架构优化机”
- java解析表字段_从SQL / HQL Java解析表和列名
- windows系统服务器添加ssl证书
- kettle 先删除后插入_Kettle:使用触发器和快照表进行增量数据同步
- python selenium 处理弹窗_Python+Selenium处理Windows弹窗(非IE弹窗问题)
- 大型Lambda的C# 泊松累积分布
- WMITesting
- 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(上海),签到题G	Fibonacci
- 【学习笔记】【C语言】循环结构-do while
- 同态滤波 matlab代码,同态滤波处理光照不均匀图像Matlab代码
- 惠普局域网共享打印机设置_已解决: hp1106局域网共享打印机共享 - 惠普支持社区 - 817337...
- 微信linux 下载文件夹,把Windows下微信文件夹复制到Deepin-WeChat目录以更新微信
- matlab如何用二分法求函数零点,如何用二分法求函数的“零点”的近似值
- Pyserial安装
- Google广告中介(以MoPub广告接入为例)
- 【牛腩】未能加载文件或程序集“AspNetPager”或它的某一个依赖项
- java游戏英雄时代攻略_军团战棋英雄时代战役攻略 战役全关卡通关攻略