# Kod ponownie definiuje okrelon relacj zaufania

# ------ KONFIGURACJA SKRYPTU ------
# Okrelenie nazwy DNS lub NetBIOS domeny systemu Windows 2000 lub Windows NT
# bd obszaru Kerberos, ktrego relacja zaufania ma zosta ponownie zdefiniowana.
my $strTrustName = "<RelacjaZaufaniaDoSprawdzenia>";

# Zdefiniowanie nazwy DNS domeny rdowej lub ufajcej.
my $strDomain    = "<DomenaUfajca>";
# ------ KONIEC KONFIGURACJI ---------
use Win32::OLE;
$Win32::OLE::Warn = 3;
# Uaktywnienie SC_RESET podczas wyliczania relacji zaufania.
my $objTrustProv = Win32::OLE->GetObject("winmgmts:\\\\$strDomain\\root\\MicrosoftActiveDirectory:Microsoft_TrustProvider=@");
$objTrustProv->TrustCheckLevel = 3;  # Wyliczanie z uyciem SC_RESET
$objTrustProv->Put_;

# Sprawdzanie relacji zaufania i zwracanie informacji dotyczcych statusu.
my $objWMI = Win32::OLE->GetObject("winmgmts:\\\\$strDomain\\root\\MicrosoftActiveDirectory");
my $objTrusts = $objWMI->ExecQuery("Select * " .
                         " from Microsoft_DomainTrustStatus " .
                         " where TrustedDomain = '$strTrustName'" );
foreach my $objTrust (in $objTrusts) {
    print objTrust->TrustedDomain,"\n";;
    print " TrustedAttributes: " , $objTrust->TrustAttributes, "\n";
    print " TrustedDCName: "     , $objTrust->TrustedDCName, "\n";
    print " TrustedDirection: "  , $objTrust->TrustDirection, "\n";
    print " TrustIsOk: "         , $objTrust->TrustIsOK, "\n";
    print " TrustStatus: "       , $objTrust->TrustStatus, "\n";
    print " TrustStatusString: " , $objTrust->TrustStatusString, "\n";
    print " TrustType: "         , $objTrust->TrustType, "\n\n";
    print ""
}
