Example #1
0
    def run(self, domain, role=None, sambaopts=None, credopts=None,
            versionopts=None, server=None, site=None):
        lp = sambaopts.get_loadparm()
        creds = credopts.get_credentials(lp)
        net = Net(creds, lp, server=credopts.ipaddress)

        if site is None:
            site = "Default-First-Site-Name"

        netbios_name = lp.get("netbios name")

        if not role is None:
            role = role.upper()

        if role is None or role == "MEMBER":
            secure_channel_type = SEC_CHAN_WKSTA
        elif role == "DC":
            join_DC(server=server, creds=creds, lp=lp, domain=domain,
                    site=site, netbios_name=netbios_name)
            return
        elif role == "RODC":
            join_RODC(server=server, creds=creds, lp=lp, domain=domain,
                      site=site, netbios_name=netbios_name)
            return
        else:
            raise CommandError("Invalid role %s (possible values: MEMBER, BDC, RODC)" % role)

        (join_password, sid, domain_name) = net.join(domain,
                                                     netbios_name,
                                                     secure_channel_type,
                                                     LIBNET_JOIN_AUTOMATIC)

        self.outf.write("Joined domain %s (%s)\n" % (domain_name, sid))
Example #2
0
    def run(self,
            domain,
            role=None,
            sambaopts=None,
            credopts=None,
            versionopts=None,
            server=None,
            site=None,
            targetdir=None):
        lp = sambaopts.get_loadparm()
        creds = credopts.get_credentials(lp)
        net = Net(creds, lp, server=credopts.ipaddress)

        if site is None:
            site = "Default-First-Site-Name"

        netbios_name = lp.get("netbios name")

        if not role is None:
            role = role.upper()

        if role is None or role == "MEMBER":
            (join_password, sid,
             domain_name) = net.join_member(domain, netbios_name,
                                            LIBNET_JOIN_AUTOMATIC)

            self.outf.write("Joined domain %s (%s)\n" % (domain_name, sid))
            return

        elif role == "DC":
            join_DC(server=server,
                    creds=creds,
                    lp=lp,
                    domain=domain,
                    site=site,
                    netbios_name=netbios_name,
                    targetdir=targetdir)
            return
        elif role == "RODC":
            join_RODC(server=server,
                      creds=creds,
                      lp=lp,
                      domain=domain,
                      site=site,
                      netbios_name=netbios_name,
                      targetdir=targetdir)
            return
        else:
            raise CommandError(
                "Invalid role %s (possible values: MEMBER, BDC, RODC)" % role)
Example #3
0
    def run(self, domain, role=None, sambaopts=None, credopts=None,
            versionopts=None, server=None, site=None, targetdir=None,
            domain_critical_only=False, parent_domain=None, machinepass=None):
        lp = sambaopts.get_loadparm()
        creds = credopts.get_credentials(lp)
        net = Net(creds, lp, server=credopts.ipaddress)

        if site is None:
            site = "Default-First-Site-Name"

        netbios_name = lp.get("netbios name")

        if not role is None:
            role = role.upper()

        if role is None or role == "MEMBER":
            (join_password, sid, domain_name) = net.join_member(domain,
                                                                netbios_name,
                                                                LIBNET_JOIN_AUTOMATIC,
                                                                machinepass=machinepass)

            self.outf.write("Joined domain %s (%s)\n" % (domain_name, sid))
            return
        elif role == "DC":
            join_DC(server=server, creds=creds, lp=lp, domain=domain,
                    site=site, netbios_name=netbios_name, targetdir=targetdir,
                    domain_critical_only=domain_critical_only,
                    machinepass=machinepass)
            return
        elif role == "RODC":
            join_RODC(server=server, creds=creds, lp=lp, domain=domain,
                      site=site, netbios_name=netbios_name, targetdir=targetdir,
                      domain_critical_only=domain_critical_only,
                      machinepass=machinepass)
            return
        elif role == "SUBDOMAIN":
            netbios_domain = lp.get("workgroup")
            if parent_domain is None:
                parent_domain = ".".join(domain.split(".")[1:])
            join_subdomain(server=server, creds=creds, lp=lp, dnsdomain=domain, parent_domain=parent_domain,
                           site=site, netbios_name=netbios_name, netbios_domain=netbios_domain, targetdir=targetdir,
                           machinepass=machinepass)
            return
        else:
            raise CommandError("Invalid role '%s' (possible values: MEMBER, DC, RODC, SUBDOMAIN)" % role)
Example #4
0
    def run(self,
            domain,
            role=None,
            sambaopts=None,
            credopts=None,
            versionopts=None,
            server=None,
            site=None,
            targetdir=None,
            domain_critical_only=False,
            parent_domain=None,
            machinepass=None):
        lp = sambaopts.get_loadparm()
        creds = credopts.get_credentials(lp)
        net = Net(creds, lp, server=credopts.ipaddress)

        if site is None:
            site = "Default-First-Site-Name"

        netbios_name = lp.get("netbios name")

        if not role is None:
            role = role.upper()

        if role is None or role == "MEMBER":
            (join_password, sid,
             domain_name) = net.join_member(domain,
                                            netbios_name,
                                            LIBNET_JOIN_AUTOMATIC,
                                            machinepass=machinepass)

            self.outf.write("Joined domain %s (%s)\n" % (domain_name, sid))
            return
        elif role == "DC":
            join_DC(server=server,
                    creds=creds,
                    lp=lp,
                    domain=domain,
                    site=site,
                    netbios_name=netbios_name,
                    targetdir=targetdir,
                    domain_critical_only=domain_critical_only,
                    machinepass=machinepass)
            return
        elif role == "RODC":
            join_RODC(server=server,
                      creds=creds,
                      lp=lp,
                      domain=domain,
                      site=site,
                      netbios_name=netbios_name,
                      targetdir=targetdir,
                      domain_critical_only=domain_critical_only,
                      machinepass=machinepass)
            return
        elif role == "SUBDOMAIN":
            netbios_domain = lp.get("workgroup")
            if parent_domain is None:
                parent_domain = ".".join(domain.split(".")[1:])
            join_subdomain(server=server,
                           creds=creds,
                           lp=lp,
                           dnsdomain=domain,
                           parent_domain=parent_domain,
                           site=site,
                           netbios_name=netbios_name,
                           netbios_domain=netbios_domain,
                           targetdir=targetdir,
                           machinepass=machinepass)
            return
        else:
            raise CommandError(
                "Invalid role '%s' (possible values: MEMBER, DC, RODC, SUBDOMAIN)"
                % role)