Active Directory Cookbook

Errata for Active Directory Cookbook

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date Submitted Date Corrected
Page i
%SystemRoot%debug etlogon.log</i> file on each domain controller and parse out

all the NO_CLIENT_SITE entires." insert the following sentence: "(In order to get NetLogon to output log messages, see Section 15.3, Enabling NetLogon Logging.)"

Page 205
6th and 7th paragraph

There are errors in the following lines of code. In Perl versions before 5.6.0 blanks were allowed in variables of the type Math::BigInt. But in later Perl versions you get NaN back. If you remove blanks, it works. $intObj = Math::BigInt->new($intObj->bmul('10 000 000')); my $past_largeint = Math::BigInt->new( $intObj->badd('116 444 736 000 000 000'));

Page 219
The VBScript example had an error, below is the corrected version

' The following code creates a global security group. ' --------------------------------------------------------------- ' From the book "Active Directory Cookbook" by Robbie Allen ' Publisher: O'Reilly and Associates ' ISBN: 0-596-00466-4 ' Book web site: ' --------------------------------------------------------------- ' ------ SCRIPT CONFIGURATION ------ strGroupParentDN = "<GroupParentDN>" ' e.g. ou=Groups,dc=rallencorp,dc=com strGroupName = "<GroupName>" ' e.g. ExecAdminsSales strGroupDescr = "<GroupDesc>" ' e.g. Executive Admins for Sales group ' ------ END CONFIGURATION --------- ' Constants taken from ADS_GROUP_TYPE_ENUM ' This was in the book: ' Const ADS_GROUP_TYPE_DOMAIN_LOCAL_GROUP = 1 ' When it should be this: Const ADS_GROUP_TYPE_DOMAIN_LOCAL_GROUP = 4 Const ADS_GROUP_TYPE_GLOBAL_GROUP = 2 Const ADS_GROUP_TYPE_LOCAL_GROUP = 4 Const ADS_GROUP_TYPE_SECURITY_ENABLED = -2147483648 Const ADS_GROUP_TYPE_UNIVERSAL_GROUP = 8 set objOU = GetObject("LDAP://" & strGroupParentDN) ' This was in the book: ' set objGroup = objDomain.Create("group","cn=" & strGroupName) ' When it should be this: set objGroup = objOU.Create("group","cn=" & strGroupName) objGroup.Put "groupType", ADS_GROUP_TYPE_GLOBAL_GROUP _ Or ADS_GROUP_TYPE_SECURITY_ENABLED ' The book example didn't set the samAccountName attribute ' but it really should objGroup.Put "samAccountName", strGroupName ' This was in the book: ' objOU.Put "description", strGroupDescr ' objOU.SetInfo ' When it should be this: objGroup.Put "description", strGroupDescr objGroup.SetInfo

Anonymous    Sep 01, 2004
Page 351
Middle of page

Immediately following the sentence: "Instead of scraping the event logs on every domain controller, you can look at the

Page 428
Table 13-3, 8th row

GcIpAddress A _gc._msdcs.<DnsForestName> should be: GcIpAddress A gc._msdcs.<DnsForestName>

Page 443
middle of page

the heading - Using VBScript should say: Using Perl