diff --git a/zmldapsync/zmldapsync.pl b/zmldapsync/zmldapsync.pl index 7a8be89..560ef11 100644 --- a/zmldapsync/zmldapsync.pl +++ b/zmldapsync/zmldapsync.pl @@ -266,11 +266,7 @@ DOMAIN: foreach my $domain ( keys $conf->{domains} ) { # Search for Zimbra users, but exclude known system accounts my $zim_user_search = $zim_ldap->ldap->search( base => 'ou=people,' . $domain_entry->{dn}, - filter => '(&(objectClass=zimbraAccount)(!(|' . - '(mail=' . $zim_ldap->global->get_value('zimbraSpamIsSpamAccount') . ')' . - '(mail=' . $zim_ldap->global->get_value('zimbraSpamIsNotSpamAccount') . ')' . - '(mail=' . $zim_ldap->global->get_value('zimbraAmavisQuarantineAccount') . ')' . - '(uid=galsync*)(uid=admin))))', + filter => '(&(objectClass=zimbraAccount)(!(zimbraIsSystemAccount=TRUE)))'; attrs => [ ( map { $conf->{domains}->{$domain}->{users}->{attr_map}->{$_} } keys $conf->{domains}->{$domain}->{users}->{attr_map} ), @@ -314,11 +310,6 @@ DOMAIN: foreach my $domain ( keys $conf->{domains} ) { # or which exist in both but need to be updated foreach my $user ( keys $ext_users ) { my $attrs = ''; - # Ignore admin - if ( $user eq 'admin' ) { - log_verbose( "Skiping admin user"); - next; - } if ( defined $zim_users->{$user} ) { # User exists in Zimbra, lets check its attribute are up to date