Active directory 如何知道Microsoft Active Directory server将为特定对象填充哪些属性及其值?

Active directory 如何知道Microsoft Active Directory server将为特定对象填充哪些属性及其值?,active-directory,ldap,azure-active-directory,ldapjs,Active Directory,Ldap,Azure Active Directory,Ldapjs,每当我试图在Microsoft Active Directory中创建计算机对象时,如下所示: var ldap = require('ldapjs'); var client = ldap.createClient({ url: 'ldap://<<host>>:389' }); client.bind('<<Admin DN>>', '<<password>>', function(err) { if(err

每当我试图在Microsoft Active Directory中创建
计算机
对象时,如下所示:

var ldap = require('ldapjs');

var client = ldap.createClient({
  url: 'ldap://<<host>>:389'
});

client.bind('<<Admin DN>>', '<<password>>', function(err) {
  if(err){
      console.log('error',err);
  }else{
      console.log('bind is success');
  }
});

var newDN = "CN=testcomputeruser,OU=testou,DC=test,DC=com";
var newUser = {
    cn: 'newtestComputer334',
    objectClass: 'computer',
    description: 'This is test implementation hence this is test description.', 
    //System will populate 'netbootInitialization':'TestNetbootInitialization',
    //System will populate 'netbootGUID':'b0ae470c-16bc-4019-b455-8c96ec515f55',
    //System will populate 'netbootMachineFilePath':'TestNetbootMachineFilePath',
    //System will populate 'siteGUID':'1010101011', 
    //System will populate 'netbootSIFFile':'TestnetbootSIFFile',
    //System will populate 'netbootMirrorDataFile':'TestnetbootMirrorDataFile',
    //System will populate 'msDS-AdditionalDnsHostName':'TestmsDS-AdditionalDnsHostName',
    //System will populate 'msDS-AdditionalSamAccountName':'TestmsDS-AdditionalSamAccountName',
    //System will populate 'msDS-ExecuteScriptPassword':'10100111100011100',    
    //System will populate 'netbootDUID':'10100111100011010101',    
  }

client.add(newDN, newUser,function(err, resp) {
    console.log('newDN : ', newDN);
    console.log('newUser : ' ,newUser);
  if(err){
      console.log('error',err);
  }else{
      console.log('new user is success');
      //////////////////////////////////////////
      client.unbind(function(err) {
          if(err){
              console.log('error unbind : ',err);
          }else{
              console.log('unbind is success');
          }
        });
      //////////////////////////////////////////    
  }
})

var ldap=require('ldapjs');
var client=ldap.createClient({
url:'ldap://:389'
});
client.bind(“”),函数(err){
如果(错误){
console.log('error',err);
}否则{
log('bind is success');
}
});
var newDN=“CN=testcomputeruser,OU=testou,DC=test,DC=com”;
var newUser={
cn:‘新测试计算机334’,
objectClass:“计算机”,
描述:“这是测试实现,因此这是测试描述。”,
//系统将填充“netbootInitialization”:“TestNetbootInitialization”,
//系统将填充“netbootGUID”:“b0ae470c-16bc-4019-b455-8c96ec515f55”,
//系统将填充“netbootMachineFilePath”:“TestNetbootMachineFilePath”,
//系统将填充“siteGUID”:“1010101011”,
//系统将填充“netbootSIFFile”:“TestnetbootSIFFile”,
//系统将填充“netbootMirrorDataFile”:“TestnetbootMirrorDataFile”,
//系统将填充“msDS AdditionalDnsHostName”:“TestmsDS-AdditionalDnsHostName”,
//系统将填充“msDS AdditionalSamAccountName”:“TestmsDS-AdditionalSamAccountName”,
//系统将填充“msDS ExecuteScriptPassword”:“10100111100011100”,
//系统将填充“NetBootUID”:“1010011110001010101”,
}
add(newDN、newUser、function(err、resp){
log('newDN:',newDN);
log('newUser:',newUser);
如果(错误){
console.log('error',err);
}否则{
log(“新用户成功”);
//////////////////////////////////////////
client.unbind(函数(err){
如果(错误){
log('error unbind:',err);
}否则{
log(“解除绑定即成功”);
}
});
//////////////////////////////////////////    
}
})
此处,诸如netbootSIFFile、netbootMirrorDataFile、msDS AdditionalDnsHostName、msDS AdditionalSamAccountName、msDS ExecuteScriptPassword和NetBootUID等属性的值将由Microsoft Active Directory填充

根据该模式,我们找不到任何相同的指标


是否有任何方法可以从Active Directory(LDAP)架构中找到每个对象类的系统属性?

如果您通过LDAP在架构中读取
Computer
的类对象(例如
CN=Computer,CN=schema,CN=Configuration,DC=test,DC=com
),您可以读取“只能由系统修改。”


或者,您可以创建一个计算机对象,设置它允许您使用的最少数量的属性,然后读回所有具有值的属性。所有未设置值的属性都是由系统设置的属性。

谢谢您的帮助。是否有办法找到for systemmay包含所有对象的属性Active Directory中可用的ect类?是的,只需对其他类执行相同的操作,如
CN=User,CN=Schema,CN=Configuration,DC=test,DC=com
,或在
CN=Schema,CN=Configuration,DC=test,DC=com
中搜索
(systemMayContain=*)谢谢您的输入。我们可以检索所有对象类的代码> StasyMyLys< /Calp>属性。但是<代码> DN 正在使用对象类的<代码> CN通用名称<代码>,它不属于代码> ObjtCase< /Cord>定义的一部分。如果我们考虑<代码> MSAUTZZ CalpAccess规则对象类。类架构搜索需要
CN=ms-Authz-Central-Access-Rules,CN=Schema,CN=Configuration,DC=ibm,DC=msad,DC=com
DN。有没有办法找到从
objectClasses
检索到的对象类的
CN
?在这种情况下
ms-Authz-Central-Access-Rules
msAuthz-centrallace的
CN
ssRules
对象类。您可以使用
lDAPDisplayName
属性(开头是小写L)搜索架构。例如:
(lDAPDisplayName=msAuthz CentralAccessRules)