Zentyal Forum, Linux Small Business Server
Zentyal Server => Installation and Upgrades => Topic started by: dave2318 on August 04, 2014, 01:33:06 pm
-
Hi All,
I have been waiting for ages for the 3.5 documentation to be updated so that i can get a new script for importing users.
The documentation now clearly says 3.5, but the import script is still for 3.4
The page in question is:-
https://wiki.zentyal.org/wiki/En/3.5/Development_and_advanced_configuration
but EBox::Users::User does not exist on 3.5, it's replaced with EBox::Samba::User
changing all occurrences to be Samba instead of Users causes a missing Argument error because SamAccountName isn't specified.
Adding the line samAccountName => $username, results in
LDAP error: The request contained an invalid DN
.<br/> Operation parameters:{
'scope' => 'base',
'attrs' => [
'*',
'objectGUID',
'unicodePwd',
'supplementalCredentials'
],
'base' => 'CN=,CN=Users,DC=mycohens,DC=net',
'filter' => '(objectclass=*)'
}
Please can this script be updated to work with 3.5?
-
I managed it another way if that is any use?
https://forum.zentyal.org/index.php/topic,22477.msg86568.html#msg86568
Dunno as its hard with the Zentyal object model whilst they are developing when changes happen.
You seem to know some scripting so maybe the bulkuser script will be of use.
-
I've updated the script, thanks for reporting!
-
Superb! thanks, this is now working. On 3.4 though i had adjusted the script to import contacts into a different OU called Contacts.
I've moded the new one to the following but am having problems:-
#!/usr/bin/perl
use strict;
use warnings;
use EBox;
use EBox::Samba::Contact;
use File::Slurp;
EBox::init();
sub FindContainer {
my ($class, $ro) = @_;
my $usersMod = EBox::Global->getInstance($ro)->modInstance('samba');
return $usersMod->objectFromDN('CN=Contacts,' . $usersMod->ldap->dn());
}
my @lines = read_file('contacts.csv');
chomp (@lines);
my $parent = FindContainer();
for my $line (@lines) {
my ($username, $givenname, $surname, $email) = split(',', $line);
EBox::Samba::Contact->create(
samAccountName => $username,
parent => $parent,
givenName => $givenname,
sn => $surname,
mail => $email
);
}
1;
It keeps saying "missing argument: parent"
the findcontainer sub is pinched from the contacts.pm file with a moded DN path.
Can't see why it's returning a blank value though! (I have created the OU Contacts)
Dave
-
Much more messing about and still no further.
I have changed CN=Contacts back to CN=Users and it works, but puts the contacts in the Users OU.
I copied and pasted the name of the Contacts OU i created into the script and still get "Missing argument: parent"
I have around 300 users and several hundred contacts, so obviously i don't want them all in one OU as it would be huge!
Any ideas?
-
Dave as far as I am aware Openchange only supports a singular OU. The original CN=Users.
If you do unless they have made changes to how openchange works you will not have mail settings on the other OU's
I have posted before about this as its something I can not get my head round as OU's are really important for organisation and group policies.
-
Hi Stuart, to my knowledge it's only openchange mailboxes that only work in the Users OU, Contacts can go in any OU.
I have just tested it by creating a contact in my Contacts OU and it was visible in SOGo.
I agree about the annoyance of only having mail enabled users in one OU, it's a real limitation, hopefully we will get round it soon. Apparently the main restriction was having to sync 2 separate LDAP trees, but not we only have one I hope it's should not be too far away:)
The other things i would like:-
Ability to move Users/Contacts to another OU
Ability to select multiple Users/Contacts to move/delete
Dave