LDAP 스크립팅
사용자 지정 변환 맵, 스크립트 및 비즈니스 규칙을 생성하여 데이터를 임포트할 때 요구사항을 지정합니다.
사용자 지정 변환 맵에는 onStart 및 onAfter 변환 스크립트가 포함되어야 합니다.
onStart 스크립트는 LDAPUtils 스크립트 포함을 호출하고 로깅을 시작해야 합니다. 예를 들어, LDAP 사용자 임포트 변환 맵에는 다음 코드를 사용하는 onStart 스크립트가 있습니다.gs.include ( "LDAPUtils" ) ; var ldapUtils = new LDAPUtils ( ) ;
ldapUtils. setLog (log ) ;onAfter 스크립트는 addMembers 함수를 호출해야 합니다. 예:ldapUtils.addMembers (source , target ) ;비활성화된 Active Directory 사용자를 비활성으로 설정
연결된 AD 사용자가 비활성화된 경우 다음 스크립트를 사용하여 사용자를 자동으로 비활성화합니다.
시작하기 전에
이 태스크 정보
userAccountControl 특성의 값을 확인하여 비활성화된 Active Directory 사용자를 식별할 수 있습니다. 이 규칙은 userAccountControl 값이 변경될 때마다 실행되며 사용자 계정 컨트롤 이 비활성화된 AD 계정을 나타내는 경우 사용자 계정을 비활성화합니다.
연결된 AD 사용자가 비활성화된 경우 다음 스크립트를 사용하여 사용자를 자동으로 비활성화합니다.
프로시저
LDAP 필드 값 할당
스크립트를 사용하여 필드 매핑이 있는 모든 필드에 값을 할당할 수 있습니다.
예를 들어 sys_user.company 필드에 값을 할당하려면 회사 필드에 대한 필드 맵을 생성하고 다음 변환 스크립트를 추가합니다.
company = "Don's Sporting Goods";특정 LDAP 사용자 제외
LDAP 필터 속성을 사용하여 LDAP 사용자 목록을 완전히 필터링할 수 없는 경우 맵 스크립트로 사용자를 제외할 수 있습니다.
논리를 실행하여 임포트해서는 안 되는 사용자를 식별한 후 user_name 필드를 빈 문자열로 설정하면 이 사용자는 임포트되지 않습니다.
user_name='';필터링할 사용자를 식별하는 한 가지 방법은 distinguishedName 특성에서 문자열을 찾는 것입니다. 예를 들어, 이 스크립트는 사용자 OU에 없는 계정을 제외합니다. 사용자 OU가 너무 많아 대상 OU LDAP 옵션에 포함할 수 없는 경우 이 스크립트를 사용할 수 있습니다.
//vdn is a variable mapped to distinguishedName
gs.include("LDAPUtils");
var vdn = source.getElement(this.distinguishedName);
if (vdn.indexOf('OU=Users')<0) {
user_name='';
gs.log('LDAP Import Skipping User: ' + vdn);
}더 복잡한 필터링 방법은 정규식을 사용하는 것입니다.
//vcn is a variable mapped to cn
//vdn is a variable mapped to distinguishedName
//c is the regular expression string
gs.include("LDAPUtils");
var vdn = source.getElement(this.distinguishedName);
var vcn = source.getElement(this.cn);
var c = /^[a-z][a-z][a-z][0-9][0-9][0-9]$/;
var nvcn = vcn.toLowerCase();
//test to see if the cn is in the form of 3 letters followed by 3 numbers, only import these
if (c.test(nvcn)) {
user_name = nvcn;
} else {
gs.log("LDAP import rejected username: " + vcn + " for DN: " + vdn);
user_name = "";
}