joeware - never stop exploring... :)

Information about joeware mixed with wild and crazy opinions...

2/17/2010

Happy Public Release Birthday Active Directory

by @ 7:00 am. Filed under tech

Ten years ago today Active Directory was made publically available[1]. Been a long ten years and we have seen some cool/wonderful things and some sad/horrible things. Overall, looking good AD. šŸ™‚

   joe

 

[1] RTM was December 15, 1999.

Rating 3.00 out of 5

2/13/2010

AdFind V01.41.00 and AdMod V01.12.00 Released

by @ 2:58 am. Filed under updates

The betrunkener Schmetterling releases of AdFind and AdMod have been posted to the website.

You can find AdFind V01.41.00 here —>  http://www.joeware.net/freetools/tools/adfind/index.htm

You can find the new usage here —> http://www.joeware.net/freetools/tools/adfind/usage.htm

 

You can find AdMod V01.12.00 here —>  http://www.joeware.net/freetools/tools/admod/index.htm

You can find the new usage here —> http://www.joeware.net/freetools/tools/admod/usage.htm

 

You had to expect something was going to hit the joeware free tools website, we are again coming up to The Experts Conference (aka DEC) timeframe and I always try to push something out the door for DEC err TEC. Unfortunately as mentioned earlier, I will not be at TEC this year but I expect a few laptops running my utilities will be there which is almost as good. šŸ™‚

 

I tried something different this time. I worked on updating AdFind and AdMod at the same time. I usually donā€™t like doing that because my focus can drift but it worked out very well in this case as changes I made to AdFind to get it to compile with Code Gear C++ Builder 2009 were needed for AdMod as well and I also took the opportunity to collapse some of the common functions. Not all of them, lots more can be done in that area but that is for me and not you because it doesnā€™t do anything for you. For me it means less places to look for changes and a change in one makes the change in both.

 

The AdFind updates that you will notice are mostly pretty small, various bug fixes and some more attributes decoded properly for Windows Server 2008 R2 (thanks to everyone who emails me items that could be decoded or arenā€™t decoded properly BTW) and a few new switches.

Probably the most ā€œwantedā€ addition I have added to AdFind are the ā€“tdcfmt and ā€“tdcsfmt switches. These switches allow you to change the output of the time decoding done with the various ā€“tdc* switches. I had lots of people who wanted to set up their own custom time formats and others who wanted me to localize the output. I figured out of the two, allowing someone to set their own format was the more flexible for them and the least amount of work for me. šŸ™‚ So now if you want to output the time like DAY/MONTH/YEAR or even MONTH-YEAR you are welcome to do so. More on that below in the full detailed list of updates.

 

The AdMod updates are a collection of updates made since V01.10.00 was released back in February 2007. I jumped straight to V01.12.00 as I had stopped working on AdMod for some time and just used V01.11.00 myself to work out some really nasty bugs I somehow inserted into it. šŸ™‚ Then when I started working on it again I needed to rev the version number. So no, you didnā€™t have a black out, V01.11.00 was never publicly available.

There are a ton of changes in AdMod. Its not a major version release but it is definitely two minor releases in terms of bug fixes aloneā€¦ The first big change is that I converted it to Code Gear C++ Builder 2009 like I did for AdFind. Most folks found tremendous speed increases between the old and new version of AdFind when I switched compilers and I have been seeing the same results with AdMod. Another big change is that AdMod will now encode SDDL strings into Security Descriptors. This is done like encoding GUIDs or SIDs but instead with a prefix of SD#. In the same encoding portion of the code I also added time string encoding as well with UTC##, LOCAL##, and CURRENT##. There are some neat tricks you will be able to pull off with those. One of the final big changes is to allow CSV mode ā€“import switch works in update mode, not just add mode. However, in the interest of data safety, the import mode will NOT overwrite current values, it will only ADD values. So if you have a single valued attribute that is already populated, ā€“import will not overwrite that value. It will bail with an already exists error. If you want that value overwritten, you need to specify the proper attribute operation like description::{{.}} as you did before. I initially set it up with an override switch to allow overwrites, but then saw someone do something that changed my mind.

As always, if you run into issues or just have thoughts, questions, please send me an email. I hope you find the updates to be useful for you. People keep telling me that AdFind/AdMod arenā€™t needed anymore because PowerShell can do it all but

1) That hasnā€™t been my experience in any company I have looked at

2) I still get flooded with email requests for new features and how to questions

so I feel the tools are still relevant and useful and will keep them available.

As I mentioned in another blog post, I am considering writing a book on LDAP, AD, ADAM, and AdFind/AdMod and actually started generating a draft table of contents last night while watching Survivor. I think it will be useful and I am, I expect, the best person to write it. šŸ™‚

 

 

ADFIND UPDATE DETAILS

* Lots of bug fixes in logic, switch processing, shortcuts, and the usage.

* Added decodes for

  • linkID
  • msDS-OptionalFeatureFlags
  • msDS-RequiredForestBehaviorVersion
  • msDS-RequiredDomainBehaviorVersion

* Updated some other decoded attributes to include Windows Server 2008 R2

* Did some work on the ā€“e and ā€“ef functionality. These switches enable environment variables or switches from a file to allow you to ā€œhardcodeā€ certain switches into your commands without typing them each time. Also added/updated functionality around a default switch file for each program that is always read in case you have something that you always want done, say like ā€“tdcs or one of the new time formatting switches. Note that the default file is read from the current working directory. This was a purposeful decision.

* Added the following new switches

  • -arecex : this enables A Record Exclusive mode. When you specify a host and this switch together, the underlying API will only look at the A record for the name, it will not try to guess if it is a domain. This can dramatically speed up bind times when you specify a host.
  • -hh : this is a shortcut for ā€“h and ā€“arecex together. I sort of look at ā€“hh as meaning, no I really mean this server name, donā€™t try to look at domain names.
  • -hd: this was a request from a friend of mine, he wanted a shortcut for ā€“h and ā€“default.
  • -digest : Digest authentication
  • -this : Shortcut for ā€“s base
  • -jtsv : Joeā€™s TSV mode, sets up a couple of options I often use with in CSV mode
  • -users : Shortcut base to cn=users,<domainDN>
  • -displayspecifiers : Shortcut base to the display specifiers container in the configuration container.
  • -nocsvq : alias for ā€“csvnoq
  • -csvnoheader : alias for nocsvheader
  • -tdcfmt/-tdcsfmt : These allow you to modify the time format output of the various ā€“tdc* switches. Specifically you get to specify the normal time format and the ā€œsortableā€ time format. The format for each is specified with a string with replaceable parameters.
  • The default format for ā€“tdc is %MM%/%DD%/%YYYY%-%HH%:%mm%:%ss% %TZ%
  • The default format for ā€“tdcs is %YYYY%/%MM%/%DD%-%HH%:%mm%:%ss% %TZ%
  • The parameters are:
  • %MM%    – 2 digit month
  • %DD%    – 2 digit day
  • %YYYY%  – 4 digit year
  • %HH%    – 2 digit hour (24 hour format)
  • %mm%    – 2 digit minute
  • %ss%    – 2 digit second
  • %ms%    – 2 digit millisecond
  • %TZ%    – Time Zone string
  • %%      – Percent symbol

* Added the following shortcuts

  • -sc replstat ā€“ Combines several switches to retrieves replication cursors (excluding deleted DSAs) for the configuration NC which can give you a quick view on forest wide replication status.
  • -sc getacl ā€“ Combines several switches to get the ACL of a specific object.
  • -sc getacls ā€“ Combines several switches to get ACLs on all objects returned.

* Updated the ā€“sc s: and ā€“sc sl: shortcuts to allow you to append ;class or ;attr to focus only on returning classes or attributes.

 

 

ADMOD UPDATE DETAILS

* Converted to CodeGear C++ Builder 2009

* Lots and Lots of bug fixes in logic, switch processing, shortcuts, and the usage.

* Added CSV variable expansion modifiers __lc, __uc, __spec, __hex, __num, *origdn*.

* Added SD## to allow for SDDL encoding to modify Security Descriptors

* Added UTC##, LOCAL##, CURRENT## to allow for int8 time encoding.

* Like with AdFind, worked on the ā€“e and ā€“ef switches and functionality.

* Warn if no redirection is detected and no base is specified.

* Error out if a bad DN is detected in stdin redirection mode.

* Allow non-CSV mode expansion capability. Gives limited variable expansion functionality.

* The ā€“import switch now works with updates as well as adds. Will not overwrite existing values!

* ā€“CSV specified with no arguments enables ā€“import

* Added new switches:

  • -log : Logs AdMod operation info to a file
  • -forestdns : Shortcut Base like in AdFind
  • -domaindns : Shortcut Base like in AdFind
  • -dcs : Shortcut Base like in AdFind
  • -fsps : Shortcut Base like in AdFind
  • -gpo : Shortcut Base like in AdFind
  • -ldappolicy : Shortcut Base like in AdFind
  • -psocontainer : Shortcut Base like in AdFind
  • -xrights : Shortcut Base like in AdFind
  • -partitions : Shortcut Base like in AdFind
  • -sites : Shortcut Base like in AdFind
  • -subnets : Shortcut Base like in AdFind
  • -exch : Shortcut Base like in AdFind
  • -users : Shortcut Base like in AdFind
  • -displayspecifiers : Shortcut Base like in AdFind
  • -stdinadd : Allows you to redirect quoted DNs from STDIN into a multivalue attribute.
  • -stdinrm : Allows you to redirect quoted DNs from STDIN to remove from a multivalue attribute.
  • -stdinreplace : Allows you to redirect quoted DNs from STDIN to replace the values in a multivalue attribute.
  • -csvfile : Read CSV stream from a file
  • -tmpobj : Create an dynamic object (i.e. object with a TTL).
  • -optenc : Alias for ā€“kerbenc
  • -digest : Digest authentication
  • -arecex : this enables A Record Exclusive mode. When you specify a host and this switch together, the underlying API will only look at the A record for the name, it will not try to guess if it is a domain. This can dramatically speed up bind times when you specify a host.
  • -hh : this is a shortcut for ā€“h and ā€“arecex together. I sort of look at ā€“hh as meaning, no I really mean this server name, donā€™t try to look at domain names.
  • -hd: this was a request from a friend of mine, he wanted a shortcut for ā€“h and ā€“default.
  • digest : Digest authentication

* Added new shortcuts

  • -sc phantomgc : doGarbageCollectionPhantomsNow
  • -sc igcc : invalidateGCConnection
  • -sc rsc : renewServerCertificate
  • -sc rodcpurge : rODCPurgeAccount
  • -sc runpag : runProtectAdminGroupsTask
  • -sc runsamupg : runSamUpgradeTasks
  • -sc rsos : replicateSingleObject – SECRETS_ONLY
Rating 3.00 out of 5

2/11/2010

Daemon Tools ISO Mounting Tool for Windows 7

by @ 8:59 pm. Filed under tech

Last time I looked, the Daemon ISO Mounting Tool didnā€™t work for Windows 7, just looked again today and now Windows 7 is supported and it actually works:

 

http://www.disk-tools.com/download/daemon

Rating 3.00 out of 5

Know It All…

by @ 8:56 pm. Filed under quotes

When I was 13 I knew it allā€¦

When I was 16 I realized I didnā€™t know it all at 13 because I now knew it allā€¦

At 19 I realized I didnā€™t know so much when I was 16 because I really knew it all then.

At 21 I finally got the point and knew that I previously knew very little and that teenagers were stupid and shouldnā€™t be allowed to make decisions because I finally had all knowledge.

At 25 I realized that I really didnā€™t know very much.

At 33 I admitted it out loud.

At 40 I started forgetting what little I did knowā€¦ šŸ˜‰

 

   – me

Rating 3.00 out of 5

Into AD?

by @ 8:55 pm. Filed under quotes

If you donā€™t know joeā€™s tools, are you really into AD?

     – Florian Frommherz (http://www.frickelsoft.net/blog/?p=180)

Rating 3.00 out of 5

Knowing…

by @ 8:52 pm. Filed under quotes

People like to think they know more than they do, especially the ones that know the least.

   – me

Rating 3.00 out of 5

No Summit and No Experts Conference for me…

by @ 8:51 pm. Filed under general

Unfortunately this year I wonā€™t be attending the Microsoft MVP Global Summit in Seattle nor The Experts Conference. Things didnā€™t work out properly for me to pull it off. I will greatly miss seeing my friends at Microsoft at the summit as well as the other MVPs.

I will also (as will my g/f) miss the fun at The Experts Conference (TEC aka DEC) in Los Angeles. It will be sad not seeing Christine, Stella, and Gil like I did every year for some time now as well as all the other regular attendees. I hope that the folks who get to go have lots of fun and take advantage of all of the knowledge sharing that is so deeply embedded in the TEC experience.

 

Have fun everyone who gets to goā€¦. šŸ™

Rating 3.00 out of 5

Microsoft RMS Change

by @ 8:37 pm. Filed under tech

If you see any of these errors

 

You cannot open this document because we cannot set up your computer to open documents that have restricted permission.

 

The Rights Management client returned the following result code: 0x80004005(-2147467259).

 

The Rights Management client returned the following result code: E_DRM_SERVICE_NOT_FOUND.

 

The Rights Management client returned the following result code: E_DRM_BIND_VALIDITY_TIME_VIOLATED.

 

Check out http://support.microsoft.com/?kbid=979099

Rating 3.00 out of 5

2/5/2010

So if I were to write a book…

by @ 11:41 pm. Filed under general

ā€¦what would you guys like to see in it?

 

I am once again thinking about writing a book for AdFind and AdMod coupled with LDAP basics, Active Directory basics, and ADAM / ADLDS Basics. Then maybe some discussion on how to use all of the above mentioned products. Basic guidelines I give folks when I asked. Top questions I am asked and the responses I give, etc.

The idea would be to do some sort of self publishing with this through Amazon or something like that so anyone anywhere can order it and get it.

Thoughts?

Rating 3.00 out of 5

Active Directory (and ADAM/ADLDS) Tombstone Lifetime

by @ 8:19 pm. Filed under tech

There is an article on TechNet about the forestā€™s tombstone lifetime for Active Directory (http://technet.microsoft.com/en-us/library/cc784932(WS.10).aspx) that was discussed on an internal MSFT DS Team / MSFT MVP email list. The discussion pointed out that there is a little confusion around the article.

Specifically the confusion can come up around step 8

Note the value in the Value column. If the value is <not set>, the default value is in effect as follows:

  • On a domain controller in a forest that was created on a domain controller running Windows Server 2003 with Service Pack 1 (SP1), Windows Server 2003 with Service Pack 2 (SP2), Windows Server 2008, or Windows Server 2008 R2, the default value is 180 days.
  • On a domain controller in a forest that was created on a domain controller running Windows 2000 Server, Windows Server 2003, or Windows Server 2003 R2, the default value is 60 days.

The question came upā€¦ and a good question I might addā€¦ ā€œWhat if you donā€™t know what version of the OS was used to initially build the forest?ā€

If this confusion exists for Directory Service MVPs, then it probably exists for some other folks as well.

 

There is a very easy (for now) way to ascertain what the tombstone lifetime is.

  1. Run the command ā€œadfind ā€“sc policiesā€
  2. Read the line that starts with >tombstoneLifetime:
  3. If the line exists, the value listed is your tombstone lifetime in days. If the line doesnā€™t exist, the tombstone lifetime is 60 days.

 

But joe, doesnā€™t the OS version matter? No. The reason it doesnā€™t matter is that the default didnā€™t change in the source code for the different OS versions. What changed was a line in a file called schema.ini which sets the value of tombstoneLifetime to whatever other value so if the value isnā€™t set it is the AD default 60 days.

The section of the schema.ini file we are talking about is

; Explict TSL default set in W2K3 SP1 to increase shelf-life of backups and allow longer
; disconnection times.
tombstoneLifetime=180

 

    joe

Rating 4.67 out of 5

[joeware – never stop exploring… :) is proudly powered by WordPress.]