water Posted October 5, 2011 Author Posted October 5, 2011 Unfortunately I'm very busy at the moment. But I hope I'll have some spare time and can test this weekend. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
water Posted October 7, 2011 Author Posted October 7, 2011 (edited) I could reproduce the problem with GetEx. This is my test script:#include "AD.au3" _AD_Open() $iAD_Debug = 2 $sUser = "xxx" _AD_GetUserGroups($sUser) If _AD_DeleteObject($sUser, _AD_GetObjectClass($sUser)) <> 1 Then ConsoleWrite("Error : " & @error & ", Extended: " & @extended & @CRLF) _AD_Close() Exit Could you please assign the user to a group so that _AD_GetUserGroups returns an array? Does _AD_DeleteObject work then? Edited October 7, 2011 by water My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
water Posted October 9, 2011 Author Posted October 9, 2011 Ok. It took me some time but I found the problem! Please modify function _AD_GetObjectAttribute as follows (insert the marked line): Func _AD_GetObjectAttribute($sAD_Object, $sAD_Attribute) Local $sAD_Property = "sAMAccountName" If StringMid($sAD_Object, 3, 1) = "=" Then $sAD_Property = "distinguishedName" ; FQDN provided If _AD_ObjectExists($sAD_Object, $sAD_Property) = 0 Then Return SetError(1, 0, "") $oAD_Command.CommandText = "<LDAP://" & $sAD_HostServer & "/" & $sAD_DNSDomain & ">;(" & $sAD_Property & "=" & $sAD_Object & ");ADsPath;subtree" Local $oAD_RecordSet = $oAD_Command.Execute ; Retrieve the ADsPath for the object If Not IsObj($oAD_RecordSet) Or $oAD_RecordSet.RecordCount = 0 Then Return SetError(2, 0, "") Local $sAD_LDAPEntry = $oAD_RecordSet.fields(0).value Local $oAD_Object = _AD_ObjGet($sAD_LDAPEntry) ; Retrieve the COM Object for the object $iAD_COMError = 0 ; <==== Insert this line Local $sAD_Result = $oAD_Object.Get($sAD_Attribute) $oAD_Object.PurgePropertyList If $iAD_COMError = 3 Then $iAD_COMError = 0 Return SetError(2, 0, "") EndIf If IsArray($sAD_Result) Then _ArrayInsert($sAD_Result, 0, UBound($sAD_Result, 1)) Return $sAD_Result EndFunc ;==>_AD_GetObjectAttribute My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
FernandG Posted October 10, 2011 Posted October 10, 2011 Hi Water, Sorry, I have been away all weekend.Great. :-) I confirm that it works perfectly.Before, i tried a few but ... i have not found. :-( Thank you very much. Good day.Regards.
water Posted October 10, 2011 Author Posted October 10, 2011 Great, I have already posted the bug report and the workaround at page 1 of this thread. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
nitekram Posted October 12, 2011 Posted October 12, 2011 Not sure if this has been covered or asked...sorry if it has. I would like to try and use this UDF (if possible) to gather shares from all our servers on the network. What I am trying to do is find all shares with the names: Home, Private, Users on each and every file server - is it possible or can you point me to the right direction? 2¢ All by me:"Sometimes you have to go back to where you started, to get to where you want to go." "Everybody catches up with everyone, eventually" "As you teach others, you are really teaching yourself." From my dad "Do not worry about yesterday, as the only thing that you can control is tomorrow." WIKI | Tabs; | Arrays; | Strings | Wiki Arrays | How to ask a Question | Forum Search | FAQ | Tutorials | Original FAQ | ONLINE HELP | UDF's Wiki | AutoIt PDF AutoIt Snippets | Multple Guis | Interrupting a running function | Another Send StringRegExp | StringRegExp Help | RegEXTester | REG TUTOR | Reg TUTOT 2 AutoItSetOption | Macros | AutoIt Snippets | Wrapper | Autoit Docs SCITE | SciteJump | BB | MyTopics | Programming | UDFs | AutoIt 123 | UDFs Form | UDF Learning to script | Tutorials | Documentation | IE.AU3 | Games? | FreeSoftware | Path_Online | Core Language Programming Tips Excel Changes ControlHover.UDF GDI_Plus Draw_On_Screen GDI Basics GDI_More_Basics GDI Rotate GDI Graph GDI CheckExistingItems GDI Trajectory Replace $ghGDIPDll with $__g_hGDIPDll DLL 101? Array via Object GDI Swimlane GDI Plus French 101 Site GDI Examples UEZ GDI Basic Clock GDI Detection Ternary operator
water Posted October 12, 2011 Author Posted October 12, 2011 (edited) I just checked one of our filerservers and I couldn't find a property that shows the shares. I don't think you can extract the shares from AD. Edited October 12, 2011 by water My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
nitekram Posted October 12, 2011 Posted October 12, 2011 Thanks for the quick reply - I did a search and may have found another that might work. Thanks again for your time. 2¢ All by me:"Sometimes you have to go back to where you started, to get to where you want to go." "Everybody catches up with everyone, eventually" "As you teach others, you are really teaching yourself." From my dad "Do not worry about yesterday, as the only thing that you can control is tomorrow." WIKI | Tabs; | Arrays; | Strings | Wiki Arrays | How to ask a Question | Forum Search | FAQ | Tutorials | Original FAQ | ONLINE HELP | UDF's Wiki | AutoIt PDF AutoIt Snippets | Multple Guis | Interrupting a running function | Another Send StringRegExp | StringRegExp Help | RegEXTester | REG TUTOR | Reg TUTOT 2 AutoItSetOption | Macros | AutoIt Snippets | Wrapper | Autoit Docs SCITE | SciteJump | BB | MyTopics | Programming | UDFs | AutoIt 123 | UDFs Form | UDF Learning to script | Tutorials | Documentation | IE.AU3 | Games? | FreeSoftware | Path_Online | Core Language Programming Tips Excel Changes ControlHover.UDF GDI_Plus Draw_On_Screen GDI Basics GDI_More_Basics GDI Rotate GDI Graph GDI CheckExistingItems GDI Trajectory Replace $ghGDIPDll with $__g_hGDIPDll DLL 101? Array via Object GDI Swimlane GDI Plus French 101 Site GDI Examples UEZ GDI Basic Clock GDI Detection Ternary operator
devilman16 Posted October 19, 2011 Posted October 19, 2011 (edited) Hello Water, I think I found a bug in the _AD_GetGroupMembers function.It returns all Members of the selected group but not the members which has set this group as primary group. For excample group "Office" has the members: frank, daniel and billif bill has set the group Office as primary group then _AD_GetGroupMembers only returns frank and daniel I also checked it with dsget.exe group "Office" -members and there I get all 3 members editI think you have to also check for the primaryGroupID not only for the member attribute in the group and check which user has the same primaryGroupID like the group./edit Edited October 19, 2011 by devilman16
water Posted October 19, 2011 Author Posted October 19, 2011 Hallo Landsmann, I will have a look at it as soon as return form Vienna (will be next week). It's not a bug but a missing feature. I converted the original adfunctions.au3 written by Johnny Clelland to a "full" UDF (help file, examples etc.) and over time added a few functions based on user demand. The primary group was added but not to all functions (check _AD_RecursiveGetMemberOf). I will add an optional parameter which then will handle the primary group. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
devilman16 Posted October 20, 2011 Posted October 20, 2011 Servus water, schöne grüße nach Wien Thanks for the information. Yes its a missing but needed feature for this function. Cause I build my own _AD_GetGroupMembersRecursive and wanted to build our new fileserver with the permissions I get from the function. Luckily I noticed the missing members before delete the old groups and wrote a second script which uses the output form dsget.exe Enjoy your stay in Vienna
water Posted October 23, 2011 Author Posted October 23, 2011 (edited) Back from Vienna. Here is the modified function. If you set parameter 2 to True then the returned array will contain all users which have set the group as their primary group in addition. Could you please do some testing and tell me if you get valid results? Another question: Does the _AD_GetGroupMembersRecursive function you've built contain functionality you would like to see in the UDF? Edited October 25, 2011 by water My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
Ralf007 Posted November 14, 2011 Posted November 14, 2011 The primary group was added but not to all functions (check _AD_RecursiveGetMemberOf).I will add an optional parameter which then will handle the primary group.Hello water,is there already an updated version of _AD_RecursiveGetMemberOf() available that can also handle the primary group of a user? I would really appreciate that! Greetings, Ralf
RugWarrior Posted November 15, 2011 Posted November 15, 2011 Very cool UDF! Keep up the great work! I am new to AutoIt and collecting UDFs to start with. I found _AD_AddEmailAddress to add an SMTP address but how can I remove the old entry?! I thought of something like _AD_Remove... but maybe I am looking at the wrong place?! I want to create a "shared" Exchange mailbox: So I would 1. create a new user 2. add a mailbox to that user 3. create a security group 4. add user to that group 5. add the group to the mailbox 6. edit the rights of that group for this mailbox I think that I may be able to do 1. - 4. but can I get an hint for 5. and 6. please Greeting RW
water Posted November 15, 2011 Author Posted November 15, 2011 Welcome to AutoIt, the forum and the AD UDF To remove an entry from the SMTP you can use _AD_ModifyAttribute. Get the value of property "proxyaddresses" using _AD_GetObjectProperties, remove the old address from the array and pass the new array to _AD_ModifyAttribute. Unfortunately I can't help you with items 5 and 6. I'm not familiar with the Exchange rights management. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
RugWarrior Posted November 16, 2011 Posted November 16, 2011 I will try this. And I will try to add new Exchange funtions to your UDF and will post them here. It is such a great UDF and with time will handle just everything within the AD
water Posted November 16, 2011 Author Posted November 16, 2011 The problem with Exchange functions is that Microsoft removed CDO in Exchange 2007 so it becomes more and more difficult to access Exchange. See the remarks in function _AD_CreateMailbox. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
supersonic Posted November 17, 2011 Posted November 17, 2011 (edited) Hi water,when running this script:#include "...AUTOITIncludeWaterADAD.au3" _AD_Open() If Not @error Then Local $aTmp = _AD_ListDomainControllers() EndIf _AD_Close()... following error returns:>Running:(3.3.6.1):C:Program FilesAutoIt3autoit3.exe "D:SUPERSONIC_AUTOIT_ADQUERYtest1.au3" D:SUPERSONIC_AUTOITIncludeWaterADAD.au3 (1434) : ==> Error in expression.:Local $sAD_DsServiceDN = $oAD_DCRootDSE.Get("dsServiceName")Local $sAD_DsServiceDN = ^ ERROR->08:16:03 AutoIT3.exe ended.rc:1>Exit code: 1 Time: 24.587I have no idea what's wrong with this.Do you have any clue for me to fix this?Greets,-supersonic. Edited November 17, 2011 by supersonic
water Posted November 17, 2011 Author Posted November 17, 2011 Could you please run this modified version and post the results? #include <AD.au3> $iAD_Debug = 2 _AD_Open() If Not @error Then Local $aTmp = _AD_ListDomainControllers() EndIf _AD_Close() My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
Recommended Posts