Jump to content

Active Directory UDF


water
 Share

Recommended Posts

Hi everybody,

the AD UDF has evolved and matured over time based on the input of all users. I now get the impression that (nearly) all work has been done.

For the next one/two releases I plan to

  • remove all the remaining bugs (treatment of special characters, _AD_GetObjectsLocked() ...)
  • incorporate missing functions (mailbox related)
  • brush up the help files and examples
Then development will stop until bugs are encountered.

My question is:

  • Are there any functions still missing in the UDF?
  • Anything else you would like to see in the UDF?
Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

water

Keep up the great work!

Just thought I would let you know that I have commenced testing 0.38.1 and will submit my findings on completion. Obviously it is not a small task but then neither was creating this functionality.

You mentioned functionality requests

_AD_GetTrusts

_AD_GetSites

_AD_GetSiteServers

_AD_GetSubnets

feeks :idea:

Link to comment
Share on other sites

You mentioned functionality requests

_AD_GetTrusts

_AD_GetSites

_AD_GetSiteServers

_AD_GetSubnets

Hi feeks,

you can get the information about Sites, Site Servers and Subnets from _AD_ListDomainControllers(). Please see the example for this function.

I will have a look at the Trusts thing. I had a look at the Trusts thing. There is not much info available on the web. This is the only script I found:

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & _
    strComputer & "\root\MicrosoftActiveDirectory")
Set colTrustList = objWMIService.ExecQuery _
    ("Select * from Microsoft_DomainTrustStatus")
For each objTrust in colTrustList
    Wscript.Echo objTrust.TrustedDomain
    Wscript.Echo objTrust.TrustDirection
    Wscript.Echo objTrust.TrustType
    Wscript.Echo objTrust.TrustAttributes
    Wscript.Echo objTrust.TrustedDCName
    Wscript.Echo objTrust.TrustStatus
    Wscript.Echo objTrust.TrustIsOK
Next

Could you please run this script on one of your DCs and post the result? From the discussion on the web I'm not sure what FSMO role it requires.

water

Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

Could you please run this script on one of your DCs and post the result? From the discussion on the web I'm not sure what FSMO role it requires.

I am not in a trust available location currently but will have a result in 24 hours

feeks

Link to comment
Share on other sites

Hi feeks,

you can get the information about Sites, Site Servers and Subnets from _AD_ListDomainControllers().

_AD_GetSiteServers *** Not all servers are DCs; Not all DCs reside in the Domain Controllers OU

feeks

Link to comment
Share on other sites

_AD_GetSiteServers *** Not all servers are DCs; Not all DCs reside in the Domain Controllers OU

feeks

I translated this script to AutoIt. Does the VBS give you correct results?

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

I translated this script to AutoIt. Does the VBS give you correct results?

I will try this in a mixed environment tomorrow and get back to you. The script however should have been All Servers

I am currently about 50% of the way through testing all current _AD_Functions in a stand-alone 2K3AD (standard MS setup) and should have a full test analysis in about 48 hours. I will also take the testing into a complex non-standard 2K3AD environment where we can put this stuff through its paces for you. Given a good run I may have the complex environment test results by the end of the week.

feeks

Link to comment
Share on other sites

The script however should have been All Servers

I see. This can be easily done using this call:

_AD_GetObjectsInOU("", "(&(objectCategory=computer)(operatingSystem=*server*))", 2, "sAMAccountName,distinguishedName,displayname,operatingSystem")

This returns a list of all "servers" with attributes sAMAccountName, distinguishedName, displayname and operatingSystem.

I will post version 0.39 here today or tomorrow for testing purposes. It has some bug fixes and better handling of special characters (#, / and comma)

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

I will try this in a mixed environment tomorrow and get back to you. The script however should have been All Servers

I am currently about 50% of the way through testing all current _AD_Functions in a stand-alone 2K3AD (standard MS setup) and should have a full test analysis in about 48 hours. I will also take the testing into a complex non-standard 2K3AD environment where we can put this stuff through its paces for you. Given a good run I may have the complex environment test results by the end of the week.

feeks

On this note, I've tested the vast majority of the functions on a Windows 2003 environment with Windows 2008 domain controllers. So far I have yet to run into any problems, but it is very much appreciated that someone is testing each of these commands. Thank you.

Link to comment
Share on other sites

How would you I set the home drive letter with this script? ModifyAttribute maybe, but what Attribute? Is there a list of modifiable attributes anywhere?

Haven't tried it myself, but the Attribute is "homeDirectory". Here you can get an overview of all available attributes.

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & _
    strComputer & "\root\MicrosoftActiveDirectory")
Set colTrustList = objWMIService.ExecQuery _
    ("Select * from Microsoft_DomainTrustStatus")
For each objTrust in colTrustList
    Wscript.Echo objTrust.TrustedDomain
    Wscript.Echo objTrust.TrustDirection
    Wscript.Echo objTrust.TrustType
    Wscript.Echo objTrust.TrustAttributes
    Wscript.Echo objTrust.TrustedDCName
    Wscript.Echo objTrust.TrustStatus
    Wscript.Echo objTrust.TrustIsOK
Next

water

I keep getting a script run error on Line 2 Char 1

Error: 0x8008100E

Code: 8004100E

Source: (null)

I am not much on vbs hopefully you can identify the problem.

Ian

Link to comment
Share on other sites

0x8004100E means: Invalid namespace

The specified WMI namespace "\root\MicrosoftActiveDirectory" is not available on the machine where the script is running.

I think you have to run the script on a DC or set the variable strComputer to the computer name where WMI should connect to:

strComputer = "<DC name>"

Here is the MSDN article.

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

Could you please run this script on one of your DCs and post the result? From the discussion on the web I'm not sure what FSMO role it requires.

water

The amended code ran successfully, however I am unable to release all of the information at this point but the basic results were:-

xxx.xxx.xx being objTrust.TrustedDomain

2 being objTrust.TrustDirection

2 being objTrust.TrustType

4 being objTrust.TrustAttributes

\\xxxxxxxx.xxx.xxx.xx being objTrust.TrustedDCName

0 being objTrust.TrustStatus

-1 being objTrust.TrustIsOK

I hope this is of assistance

Link to comment
Share on other sites

Hi feeks,

glad that it returned any results. The details can be found here.

Is this the information that you need? Only in case this information is useful for you I'm going to implement it in the UDF.

Because you were the first one to ask for trust relationship information.

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

Is this the information that you need? Only in case this information is useful for you I'm going to implement it in the UDF.

Because you were the first one to ask for trust relationship information.

Hi water

On the basis of the information returned and the environment that it was returned in I am happy with the result. As for implementing this on a permanent basis I would say no as the effort to implement would not return reward in use.

For most folks this is not a piece of data that changes and requires rights on both sides of the trust in order to configure.

Thank you for your efforts!

feeks

Link to comment
Share on other sites

water, is there a way to capture the currently authenticated domain password credential. im not trying to do anything weird like msg it out but or anything like that. i just want to use it to authenticate to other systems the password is synch'd to. (i get prompted for several things that have the same password).

thanks.

Hi everybody,

My question is:

  • Are there any functions still missing in the UDF?
  • Anything else you would like to see in the UDF?
Edited by gcue
Link to comment
Share on other sites

Not that I know.

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

Version 0.39 has been released.

For download please see my signature.

Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

Version 0.39 has been released.

For download please see signature.

Tremendous

As discussed I will include testing against the 0.39 branch. Hopefully you should see something by the end of the week!

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...