Sign in to follow this  
Followers 0
tuxMuc

ADFunctions.Au3

3 posts in this topic

Hi all,

it's possible to ask for 'accountExpires' with ADFunctions?

If yes, how?

My script works, but the point 'accountExpires' is empty.

GUICreate("BLA - ", 320, 180)

$GUILabelSnr = GUICtrlCreateLabel("S-Nummer", 30, 33)

$GUIInputWhois = GUICtrlCreateInput("", 30, 50, 50)

GUICtrlSetLimit(-1, 7)

$GUIButtonSearch = GUICtrlCreateButton("1", 35, 100, 40, 40, $BS_ICON)

GUICtrlSetImage (-1, @ScriptDir & "\icons\Search.ico")

$GUIGroup = GUICtrlCreateGroup("Info:", 130, 20, 150, 130)

$GUIName = GUICtrlCreateLabel("", 140, 53, 130)

$GUIStandort = GUICtrlCreateLabel("", 140, 71, 130)

$GUITelefon = GUICtrlCreateLabel("", 140, 89, 130)

$GUIMobil = GUICtrlCreateLabel("", 140, 107, 130)

$GUIAblauf = GUICtrlCreateLabel("", 140, 125, 130)

Func _SearchAD()

$object = GUICtrlRead($GUIInputWhois)

If $object = "" Then $object = @UserName

$Name = _ADGetObjectAttribute($object, "cn")

$Company = _ADGetObjectAttribute($object, "company")

$Telefon = _ADGetObjectAttribute($object, "telephonenumber")

$Mobil = _ADGetObjectAttribute($object, "mobile")

$Ablauf = _ADGetObjectAttribute($object, "accountExpires")

I don't understand this, because the ldap name is 'accountExpires'.

Thx for help

tux

Share this post


Link to post
Share on other sites



Hi all,

it's possible to ask for 'accountExpires' with ADFunctions?

If yes, how?

My script works, but the point 'accountExpires' is empty.

GUICreate("BLA - ", 320, 180)

$GUILabelSnr = GUICtrlCreateLabel("S-Nummer", 30, 33)

$GUIInputWhois = GUICtrlCreateInput("", 30, 50, 50)

GUICtrlSetLimit(-1, 7)

$GUIButtonSearch = GUICtrlCreateButton("1", 35, 100, 40, 40, $BS_ICON)

GUICtrlSetImage (-1, @ScriptDir & "\icons\Search.ico")

$GUIGroup = GUICtrlCreateGroup("Info:", 130, 20, 150, 130)

$GUIName = GUICtrlCreateLabel("", 140, 53, 130)

$GUIStandort = GUICtrlCreateLabel("", 140, 71, 130)

$GUITelefon = GUICtrlCreateLabel("", 140, 89, 130)

$GUIMobil = GUICtrlCreateLabel("", 140, 107, 130)

$GUIAblauf = GUICtrlCreateLabel("", 140, 125, 130)

Func _SearchAD()

$object = GUICtrlRead($GUIInputWhois)

If $object = "" Then $object = @UserName

$Name = _ADGetObjectAttribute($object, "cn")

$Company = _ADGetObjectAttribute($object, "company")

$Telefon = _ADGetObjectAttribute($object, "telephonenumber")

$Mobil = _ADGetObjectAttribute($object, "mobile")

$Ablauf = _ADGetObjectAttribute($object, "accountExpires")

I don't understand this, because the ldap name is 'accountExpires'.

Thx for help

tux

I am new to AUTOIT but would like to use a small part of your code to extract a users full name from the AD. Would you mind posting the whole program so that I can see how the functions and, for example _ADGetObjectAttribute macro(?) is created.

Many thanks

Alan

Share this post


Link to post
Share on other sites

This code was found in the forums and adapted to my needs :)

Local $objCommand = ObjCreate("ADODB.Command")
Local $objConnection = ObjCreate("ADODB.Connection")

$strComputer = @ComputerName
$user = @UserName

$objConnection.Provider = "ADsDSOObject"
$objConnection.Open ("Active Directory Provider")
$objCommand.ActiveConnection = $objConnection

Local $strBase = "<LDAP://dc=DOMAIN_NAME,dc=COM>"
Local $strFilter = "(&(objectCategory=person)(objectClass=user)(sAMAccountName="&$user&"))"
; here you shall put the AD parameter you need
Local $strAttributes = "cn,sAMAccountName,displayName,sn,distinguishedName,co,ADSPath" 
Local $strQuery = $strBase & ";" & $strFilter & ";" & $strAttributes & ";subtree"

$objCommand.CommandText = $strQuery
$objCommand.Properties ("Page Size") = 100
$objCommand.Properties ("Timeout") = 30
$objCommand.Properties ("Cache Results") = False
$ADS_SCOPE_SUBTREE = 2
$objCommand.Properties ("searchscope") = $ADS_SCOPE_SUBTREE

$objRecordSet = $objCommand.Execute

; here we catch the country, sample sintax to get the parameters
$co = $objRecordSet.Fields("co").value

The $strAttributes variable is where you have to add every AD parameter you want to see.

For example, if you want the street you have to add ",street" to $strAttributes and add

$street = $objRecordSet.Fields("street").value

to the end.

Check http://www.winzero.ca/Active-Directory-users.htm for a list of parameters and how are they called.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0