如何通过Google Apps脚本获取在域中具有特权的管理员列表?

时间:2019-03-08 10:19:59

标签: google-apps-script

这是我在Stack上的第一个问题。如果我做错了,请告诉我。

我想知道是否有人可以使用Google Apps脚本在域中为所有管理员分配了权限,而后为之欢呼。

下面我放我的代码。它工作正常,但这些指示的人员不是fakct中的管理员。

我做错了什么?

 function getDomainAdminList() {

  var users = [];
  var options = {    
    customer: "my_customer",
    maxResults: 500,
    orderBy: "email"
  }

  do {
    var response = AdminDirectory.Users.list(options);
    var userList = response.users;

    for (i = 0; i < userList.length; i++){
      var relations = "";
      if (userList[i].relations){
        for (var n = 0; n < userList[i].relations.length; n++){
          if (userList[i].relations[n].type == "manager") {
            relations = userList[i].relations[n].value;
            break;
          }
        }
      }

      users.push([userList[i].name.familyName,
                  userList[i].name.givenName,
                  userList[i].primaryEmail, 
                  Utilities.formatDate(new Date(userList[i].creationTime),Session.getScriptTimeZone(), "yyyy-MM-dd"), 
                  Utilities.formatDate(new Date(userList[i].lastLoginTime),Session.getScriptTimeZone(), "yyyy-MM-dd hh:mm:ss"), 
                  relations, 
                  userList[i].orgUnitPath,
                  userList[i].suspended,
                  userList[i].isAdmin]);
    };

    if (response.nextPageToken) {
      options.pageToken = response.nextPageToken;
    }
 } while (response.nextPageToken);

  var ss = SpreadsheetApp.create('Raport administratorzy - ' + Utilities.formatDate(new Date(), "GMT+1", "dd/MM/yyyy"));
  var header = ['Nazwisko','Imię', 'Adres email', 'Data utworzenia konta', 'Data ostatniego logowania', 'Przełożony', 'OU', 'Czy zawieszony?', 'Admin'];
  var sheet = ss.insertSheet("Users", 0);
  sheet.clear()
  sheet.appendRow(header).setFrozenRows(1);
  sheet.getRange(2,1,users.length, header.length).setValues(users);
  var range = sheet.getRange("A2:H1000");
  range.sort(1);
}  

0 个答案:

没有答案