# Kod generuje list posiadaczy roli FSMO w okrelonej domenie

# ------ KONFIGURACJA SKRYPTU ------
my $strDomain = "<NazwaDNSDomeny>";  # np. emea.rallencorp.com
# ------ KONIEC KONFIGURACJI ---------
use Win32::OLE;
$Win32::OLE::Warn = 3;
my $objRootDSE = Win32::OLE->GetObject("LDAP://$strDomain/RootDSE");
my $strDomainDN  = $objRootDSE->Get("defaultNamingContext");
my $strSchemaDN = $objRootDSE->Get("schemaNamingContext");
my $strConfigDN = $objRootDSE->Get("configurationNamingContext");

# Emulator PDC
my $objPDCFsmo = Win32::OLE->GetObject("LDAP://" . $strDomainDN);
print "Emulator PDC: ", $objPDCFsmo->fsmoroleowner,"\n";

# Wzorzec RID
my $objRIDFsmo = Win32::OLE->GetObject("LDAP://cn=RID Manager\$,cn=system,$strDomainDN");
print "Wzorzec RID: ", $objRIDFsmo->fsmoroleowner, "\n";

# Wzorzec schematu
my $objSchemaFsmo = Win32::OLE->GetObject("LDAP://" . $strSchemaDN);
print "Wzorzec schematu: ", $objSchemaFsmo->fsmoroleowner,"\n";

# Wzorzec infrastruktury
my $objInfraFsmo = Win32::OLE->GetObject("LDAP://cn=Infrastructure," . $strDomainDN);
print "Wzorzec infrastruktury: ", $objInfraFsmo->fsmoroleowner,"\n";

# Wzorzec nazw domen
my $objDNFsmo = Win32::OLE->GetObject("LDAP://cn=Partitions," . $strConfigDN);
print "Wzorzec nazw domen: ", $objDNFsmo->fsmoroleowner,"\n";
