GoogleグループごとにユーザーIDを表示

<?php
//ini_set('display_errors',-1);

// Ldapサーバー
$ldap_server = "ldaps://ldap.google.com";

// Ldapユーザー
$ldap_user = 'UserID';
$ldap_password = 'password';

// ベースのDN
$base_dn = "DC=tsukuba-g,DC=ac,DC=jp"; // DN

// コネクション接続
$ldapconn = ldap_connect($ldap_server);
if(!$ldapconn){
    echo "コネクション接続できません";
    exit;
} else{
    // バインド接続
    ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
    ldap_set_option(NULL, LDAP_OPT_X_TLS_CERTFILE, "/var/www/certs/Google.crt");
    ldap_set_option(NULL, LDAP_OPT_X_TLS_KEYFILE, "/var/www/certs/Google.key");
    $ldapbind = @ldap_bind($ldapconn, "uid=" . $ldap_user . ",ou=Users," . $base_dn, $ldap_password);
    if(!$ldapbind){
        echo "失敗";
    } else {
        $bom="\xEF\xBB\xBF";
        echo $bom;
        $attrs=['displayName','member'];
        $result = ldap_search($ldapconn,"ou=Groups,".$base_dn,"(objectclass=*)",$attrs);
        $info = ldap_get_entries( $ldapconn, $result );
        for($i=0;$i<$info['count'];++$i) {
                $u = $info[$i];
                if($u['displayname']['count']>0) {
                        $lst=explode(",",$u['dn']);
                        echo $u['displayname'][0].','.$lst[0]."\n";
                        for($j=1;$j<$u['member']['count'];++$j) {
                                $lst=explode(",",$u['member'][$j]);
                                $lst2=explode("=",$lst[0]);
                                echo $u['displayname'][0].",".$lst2[1]."\n";
                        }
                }
        }
    }
}
カテゴリー: Google Workspace, Windows, プログラム, 仕事 タグ: , , パーマリンク