タグ
  ANSI (1)
  ASP.NET (10)
  Active Directory (55)
  BAT (16)
  Backup (2)
  CSharp (11)
  CentOS (4)
  C言語 (4)
  DNS (4)
  Excel (2)
  FFmpeg (1)
  Fedora (4)
  FreeBSD (6)
  IPv6 (3)
  Java (11)
  JavaScript (8)
  LAN (1)
  Link (4)
  Linux (15)
  Mac (1)
  Mail (2)
  Microsoft (3)
  NIS (1)
  Node.js (6)
  OpenIndiana (1)
  OpenLDAP (2)
  OpenSSL (1)
  OpenSolaris (4)
  PHP (2)
  Perl (2)
  Postfix (1)
  PostgreSQL (2)
  PowerShell (34)
  RFC (3)
  SQL Server (5)
  Solaris (10)
  Ubuntu (9)
  VBScript (73)
  VCpp (2)
  VMware (3)
  Visual Basic (1)
  WMI (17)
  WSF (5)
  WSH (10)
  Windows (19)
  bash (1)
  bind (1)
  iSCSI (1)
  作成中 (8)
  慣用句 (3)
  正規表現 (6)
  運用 (8)
作成 2010.03.12
更新 2010.03.13
VBScript で OpenLDAP へ LDAPS で接続する
接続ポートは ADS_PLAIN_TEXT で TCP 389、ADS_USE_SSL で TCP 636 へ接続されます。
接続の高速化のために ADS_SERVER_BIND を指定し、問い合わせの高速化のために ADS_FAST_BIND と ADS_NO_REFERRAL_CHASING を指定しています。
なお、実行するコンピューターはドメインに参加している必要があります。
Option Explicit
' http://msdn.microsoft.com/en-us/library/aa772247.aspx
Const ADS_PLAIN_TEXT = &H0
Const ADS_USE_SSL = &H2
Const ADS_FAST_BIND = &H20
Const ADS_SERVER_BIND = &H200
Const ADS_NO_REFERRAL_CHASING = &H400
Dim strPath, objLdap, strBind, strPassword, objMyObject
Dim objConnection, objCommand, objRS
Dim intADSIFlag

strPath = "LDAP://ldap.upken.jp/DC=upken,DC=jp"
strBind = "cn=proxy,dc=upken,dc=jp"
strPassword = "bindpassword"

' for Windows Vista, 7
' intADSIFlag = ADS_USE_SSL Or ADS_FAST_BIND Or ADS_SERVER_BIND Or ADS_NO_REFERRAL_CHASING

' for Windows XP
intADSIFlag = ADS_USE_SSL Or ADS_FAST_BIND Or ADS_SERVER_BIND

' 特定のオブジェクトへ接続する
Set objLdap = GetObject("LDAP:")
' Set objMyObject = objLdap.OpenDSObject(strPath, strAdmin, strPassword, ADS_PLAIN_TEXT)
Set objMyObject = objLdap.OpenDSObject(strPath, strBind, strPassword, intADSIFlag)
WScript.Echo objMyObject.Get("o")

' オブジェクトを検索する
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Properties("User ID") = strBind
objConnection.Properties("Password") = strPassword
objConnection.Properties("Encrypt Password") = True
objConnection.Properties("ADSI Flag") = intADSIFlag
objConnection.Open "ADs Provider"
objCommand.ActiveConnection = objConnection
objCommand.Properties("Page size") = 100
objCommand.CommandText = "<" & strPath & ">;(objectClass=*);ADsPath;subtree"
Set objRS = objCommand.Execute
Do Until objRS.EOF
  WScript.Echo objRS.Fields("ADsPath").Value
  objRS.MoveNext
Loop
WScript.Echo "end"
[リロード] [記事修正] [新規作成] [使用方法]
©2004-2012 UPKEN IPv4