Verify trusts (Perl)

This code can be found in Chapter 2 of Active Directory Cookbook, 2nd edition

Purchase XP Cookbook or Networking Recipes for only $25 plus shipping! While supplies last.

Find out how to download all of the Perl code from this site.

# This Perl code shows how to search specifically for trusts
# that have failed, which can be accomplished using a WQL query that
# contains the query: TrustIsOk = False

# ---------------------------------------------------------------
# Adapted from VBScript code contained in the book:
#      "Active Directory Cookbook" by Robbie Allen
# Publisher: O'Reilly and Associates
# ISBN: 0-596-00466-4
# Book web site: http://rallenhome.com/books/adcookbook/code.html
# ---------------------------------------------------------------

# ------ SCRIPT CONFIGURATION ------
my $strDomain = "<DomainDNSName>"; # e.g. amer.rallencorp.com
# ------ END CONFIGURATION ---------

use Win32::OLE 'in';
$Win32::OLE::Warn = 3;
my $objWMI = Win32::OLE->GetObject("winmgmts:\\\\$strDomain\\root\\MicrosoftActiveDirectory");
my $objTrusts = $objWMI->ExecQuery("select * " .
                                 " from Microsoft_DomainTrustStatus " .
                                 " where TrustIsOk = False ");
if ($objTrusts->Count == 0) {
   print "There are no trust failures\n";
}
else {
   print "Trust Failures:\n";
   foreach my $objTrust (in $objTrusts) {
      print " ", $objTrust->TrustedDomain, " : ",
             $objTrust->TrustStatusString, "\n";
   }
}

This code has been viewed 1325 times.

New from the creators of TechTasks.com: StatSheet.com