Zentyal 3 mass adding tool létezhet vajon?

Fórumok

Sziasztok

Zentyal 3-al szeretnék egy kicsit kísérletezni, és felmerült bennem, hogy vajon létezhet-e hozzá valami olyan megoldás, amivel be lehet importálni usereket-csoportokat, ill. MAC-IP címpárokat tömegesen.

Userekre találtam neten megoldást, de nem sokra megyek vele, mert csoportokat nem kezel.

http://doc.zentyal.org/en/develop.html

API-ra hivatkozik az írás, így perl-ben lehetne hozzá készíteni import scripteket, de sehol nem leltem rá az API-ra. :(

Köszi előre is!

Hozzászólások

Hi! Kisérleteztem egy ilyennel:


#!/usr/bin/perl

use strict;
use warnings;

use EBox;
use EBox::UsersAndGroups::Group;

EBox::init();

my @groups;
open (my $GROUPS, 'groups');

while (my $line = <$GROUPS>) {
chomp ($line);
my $groupp;
my ($group, $comment, $system) = split(',', $line);
$groupp->{'group'} = $group;
$groupp->{'comment'} = $comment;
$groupp->{'system'} = $system;
print "Group: $group\n";
push (@groups, $groupp);
}
close ($GROUPS);

foreach my $groupp (@groups) {
EBox::UsersAndGroups::Group->create($groupp, 0);
}

1;

De sajnos az alábbi hibaüzenetet kapom! Nem értem mi a gond a csoporttnévvel?! Próbáltam _ -al és _ nélkül is.


~/bin# ./add_grup.pl
Group: _valami_
Invalid value for group name: HASH(0xb404c84).
To avoid problems, the group name should consist only of letters, digits, underscores, spaces, periods, dashs and not start with a dash. They could not contain only number, spaces and dots.root@zentyal:~/bin#

Látszik, hogy nem vagyok perl mágus ...

c

És igen. Köszönöm!

Lehet, hogy nem pontosan így kell, de működik! Létrejött a csoport. :)


root@zentyal:~/bin# cat groups
_valami2_,comment2,0,
root@zentyal:~/bin# cat add_grup.pl
#!/usr/bin/perl

use strict;
use warnings;

use EBox;
use EBox::UsersAndGroups::Group;

EBox::init();

my @groups;
open (my $GROUPS, 'groups');

while (my $line = <$GROUPS>) {
chomp ($line);
my $groupp;
my ($group, $comment, $system) = split(',', $line);
$groupp->{'group'} = $group;
$groupp->{'comment'} = $comment;
$groupp->{'system'} = $system;
print "Group: $group\n";
push (@groups, $groupp);
}
close ($GROUPS);

foreach my $groupp (@groups) {
EBox::UsersAndGroups::Group->create($groupp->{'group'}, $groupp->{'comment'}, 0);
}

1;

c

Ha a fenti jo, akkor roviditsunk kicsit rajta, van benne par folosleges resz... :)

#!/usr/bin/perl

use strict;
use warnings;

use EBox;
use EBox::UsersAndGroups::Group;

EBox::init();

open (my $GROUPS, 'groups');

while (my $line = <$GROUPS>) {
chomp ($line);
my ($group, $comment, $system) = split(',', $line);
EBox::UsersAndGroups::Group->create($group, $comment, 0);
print "Group created: $group\n";
}
close ($GROUPS);

1;

User / Group törlése PERL scripttel :::

Így próbáltam, de nem jó :
#!/usr/bin/perl

use strict;
use warnings;

use EBox;
use EBox::UsersAndGroups::User;

EBox::init();

open (my $U, 'users.txt');

while (my $line = <$U>) {
chomp ($line);
my ($uname,$egyeb) = split(';', $line);
EBox::UsersAndGroups::User->deleteObject($uname,0);
print "A user totolve: $uname\n";
}
close ($U);

1;

Hiba üzi :
Can't use string ("EBox::UsersAndGroups::User") as a HASH ref while "strict refs" in use at /usr/share/perl5/EBox/UsersAndGroups/User.pm line 81.

Valakinek ötlete van ??

A megoldás engem is érdekel, ezért feliratkozom.