LdapTools\Security\SddlParser::getDomainSid PHP Method

getDomainSid() protected method

protected getDomainSid ( boolean $isRoot ) : SID
$isRoot boolean
return SID
    protected function getDomainSid($isRoot)
    {
        if (!$isRoot && $this->domainSid) {
            return $this->domainSid;
        } elseif ($isRoot && $this->rootDomainSid) {
            return $this->rootDomainSid;
        }
        $baseDn = $isRoot ? 'rootDomainNamingContext' : 'defaultNamingContext';
        $domainSid = (new LdapQueryBuilder($this->connection))->setBaseDn($this->connection->getRootDse()->get($baseDn))->select('objectSid')->where(['objectClass' => 'domain'])->andWhere(['objectClass' => 'domainDns'])->setSizeLimit(1)->getLdapQuery()->getSingleScalarResult();
        $sid = new SID($domainSid);
        if ($isRoot) {
            $this->rootDomainSid = $sid;
        } else {
            $this->domainSid = $sid;
        }
        return $sid;
    }