import ldb from samba.auth import system_session from samba.samdb import SamDB from samba.param import LoadParm try: lp = LoadParm() lp.load_default() # Cesta k databázi uvnitř kontejneru samdb = SamDB(url="/var/lib/samba/private/sam.ldb", session_info=system_session(), lp=lp) level = "7" # Úroveň 2016 # 1. Update DC settings res = samdb.search(base="CN=Configuration,DC=dc,DC=local", expression="(objectClass=nTDSDSA)") for entry in res: m = ldb.Message() m.dn = entry.dn m["msDS-Behavior-Version"] = ldb.MessageElement(level, ldb.FLAG_MOD_REPLACE, "msDS-Behavior-Version") samdb.modify(m) print(f"DC {entry.dn} nastaven na 2016") # 2. Update Domain m_dom = ldb.Message() m_dom.dn = ldb.Dn(samdb, "DC=dc,DC=local") m_dom["msDS-Behavior-Version"] = ldb.MessageElement(level, ldb.FLAG_MOD_REPLACE, "msDS-Behavior-Version") samdb.modify(m_dom) print("Doména nastavena na 2016") # 3. Update Forest m_for = ldb.Message() m_for.dn = ldb.Dn(samdb, "CN=Partitions,CN=Configuration,DC=dc,DC=local") m_for["msDS-Behavior-Version"] = ldb.MessageElement(level, ldb.FLAG_MOD_REPLACE, "msDS-Behavior-Version") samdb.modify(m_for) print("Les nastaven na 2016") print("\nHOTOVO: Teď uprav conf.d a restartuj kontejner.") except Exception as e: print(f"\nCHYBA: {e}")