사용자가 AD에 연결하려면 자기가 보유하고 있는 자격 증명을 점검하게 됩니다. 하여튼, 사용자가 계정 정보를 디렉터리 서비스에 직접 제공하는 대신에 사용자 이름 및 암호 문자열을 전달할 수 있습니다. 다음의 스크립트는 이러한 기능을 제공합니다. 다운로드는 다음과 같습니다.

http://www.windowsitpro.com/articles/download/Passcredentials.zip


On Error Resume Next
Const ADS_SECURE_AUTHENTICATION = 1
Const ADS_USE_ENCRYPTION = 2


Dim uid, pwd, ldapPath

ldapPath = "LDAP://CN=Clark Kent,OU=Justice League,DC=savilltech,dc=com"

WScript.StdOut.Write "User name (with domain prefix): "
uid = WScript.StdIn.ReadLine

WScript.StdOut.Write "Please enter your password:"
pwd = WScript.StdIn.ReadLine


Dim LDAP 'As IADsOpenDSObject
Set LDAP = GetObject("LDAP:")
Set obj = LDAP.OpenDSObject(ldapPath, uid, pwd, _
ADS_USE_ENCRYPTION OR ADS_SECURE_AUTHENTICATION)

if err.number<>0 then
wscript.echo "Error connecting to AD " & err.number, err.description
err.Clear
Wscript.Quit(0)
end if

wscript.echo "SAM Account name is " & obj.sAMAccountName


가장 중요한 부분은 LDAP.OpenDSObject로 사용자의 이름과 비밀번호를 입력하여 사용합니다. 그리고 스크립트의 사용법은 다음과 같습니다.


D:projectsVBScripts>cscript authtoad.vbsUser name (with domain prefix): savilltechrucePlease enter your password:passwordSAM Account name is clark
사용자가 직접 입력하지 않고, 스크립트에 넣어서 사용하려면 다음과 같이 입력합니다.




uid = "savilltechruce"
pwd = "password"Dim LDAP 'As IADsOpenDSObject
Set LDAP = GetObject("LDAP:")
Set obj = LDAP.OpenDSObject(ldapPath, uid, pwd, _
ADS_USE_ENCRYPTION OR ADS_SECURE_AUTHENTICATION)
Posted by NTFAQ

트랙백 주소 :: http://ntfaq.co.kr/trackback/2314 관련글 쓰기

댓글을 달아 주세요