/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
Perl & Win2000 AD
Fra : Soren Schimkat


Dato : 21-03-01 14:26

Hey

Søger med lys og lygte efter et eller andet der kan sætte mig igang med
at administrere brugere i Windows 2000 server Active Directory.

Har du et link eller en stump kode... så tøv ikke.

mvh Søren Schimkat

 
 
Thomas Eibner (21-03-2001)
Kommentar
Fra : Thomas Eibner


Dato : 21-03-01 15:43

Soren Schimkat wrote:
> Søger med lys og lygte efter et eller andet der kan sætte mig igang med
> at administrere brugere i Windows 2000 server Active Directory.
>
> Har du et link eller en stump kode... så tøv ikke.

<http://www.oreilly.com/catalog/perlsysadm/> er måske noget for dig.

--
Thomas Eibner - <http://thomas.eibner.dk/>

Lars Kim Lund (21-03-2001)
Kommentar
Fra : Lars Kim Lund


Dato : 21-03-01 15:53

Hej Soren Schimkat <schimkat@musik.auc.dk>

>Søger med lys og lygte efter et eller andet der kan sætte mig igang med
>at administrere brugere i Windows 2000 server Active Directory.
>
>Har du et link eller en stump kode... så tøv ikke.

Hvis ikke perl er et ultimativt krav så kig også på MSDN efter ADSI
dokumentation, det er nok den letteste indgangsvinkel til at scripte
administration i AD.

--
Lars Kim Lund
http://www.net-faq.dk/

Soren Schimkat (02-04-2001)
Kommentar
Fra : Soren Schimkat


Dato : 02-04-01 08:07

Hey

Nu er jeg komme lidt nærmere ... men også kun lidt. Nogen med erfaring
der vil dele lidt ud?


Dette virker fint... (det skulle det nu også da det er eksempel koden
fra Net::LDAP modulet)

#!/usr/bin/perl
use Net::LDAP;
$ldap = Net::LDAP->new('ldap.bigfoot.com') or die "$@";
$ldap->bind;
$mesg = $ldap->search (base => "c=US", filter => "(&(sn=Barr) (o=Texas
Instruments))");
$mesg->code && die $mesg->error;
foreach $entry ($mesg->all_entries) { $entry->dump; }
$ldap->unbind;


Dette Virker ikke (alle mulige underlige fejl):


#!/usr/bin/perl
use Net::LDAP;
$ldap = Net::LDAP->new('win2k.dk') or die "Connect error: $@";
$ldap->bind (dn => 'cn=Administrator', password => '********');
$mesg = $ldap->search (base => "ou=Users,dc=win2k,dc=dk", filter =>
"cn=Administrator");
$mesg->code && die "Search Error: ". $mesg->error;
foreach $entry ($mesg->all_entries) {
print $entry->dump;
}
$ldap->unbind;



-Søren


Soren Schimkat wrote:
>
> Hey
>
> Søger med lys og lygte efter et eller andet der kan sætte mig igang med
> at administrere brugere i Windows 2000 server Active Directory.
>
> Har du et link eller en stump kode... så tøv ikke.
>
> mvh Søren Schimkat

--
MVH Soren Schimkat, EDB Kontoret

Ask Bjoern Hansen (02-04-2001)
Kommentar
Fra : Ask Bjoern Hansen


Dato : 02-04-01 14:44

Soren Schimkat <schimkat@musik.auc.dk> writes:

[...]
> Dette Virker ikke (alle mulige underlige fejl):

Jeg er bange for at du kommer til at fortaelle hvad "alle mulige
underlige fejl" er for at faa hjaelp.

Se ogsaa http://perl.plover.com/Questions.html


- ask

--
ask bjoern hansen - http://ask.netcetera.dk/

Soren Schimkat (04-04-2001)
Kommentar
Fra : Soren Schimkat


Dato : 04-04-01 14:21

Fik det til at virke selv:


-------------------------------------------------------------------
#!/usr/bin/perl


use Net::LDAP;


# Getting user input
print "Enter the user you wan't to see: ";
chop($user = <STDIN>);
system "stty -echo";
print "Enter password for the Windows 2000 Administrator: ";
chop($passwd = <STDIN>);
print "\n";
system "stty echo";


# Connecting
$ldap = Net::LDAP->new('win2k.musik.auc.dk', onerror => 'die');
$ldap->bind (dn =>
'CN=Administrator,cn=Users,dc=ws,dc=humfak,dc=auc,dc=dk', password =>
$passwd);


# Searching
$mesg = $ldap->search (base =>
"CN=Users,dc=ws,dc=humfak,dc=auc,dc=dk",
filter => "sAMAccountName=$user",
attrs => "*");


# Dumbing output
%wanted = (name => 'Fullname',
mail => 'Email adress',
wWWHomePage => 'Web adress',
distinguishedName => 'DN');
$entries = $mesg->count;
for($i = 0 ; $i < $entries ; $i++) {
$entry = $mesg->entry($i);
print "\n";
foreach my $attr ($entry->attributes) {
if ($wanted{$attr}) {
print $wanted{$attr} . "\t=\t" . $entry->get_value($attr) .
"\n";
}
}
print "\n";
}


# Unbinding
$ldap->unbind;
-------------------------------------------------------------------



-Søren



Soren Schimkat wrote:
>
> Hey
>
> Søger med lys og lygte efter et eller andet der kan sætte mig igang med
> at administrere brugere i Windows 2000 server Active Directory.
>
> Har du et link eller en stump kode... så tøv ikke.
>
> mvh Søren Schimkat

Soren Schimkat (05-04-2001)
Kommentar
Fra : Soren Schimkat


Dato : 05-04-01 09:35

Hej igen

Nu kan jeg faktisk også oprette brugere.. men jeg kan ikke finde ud af
at sætte password eller at aktivere kontoen.... nogen der har en ide?

mvh Søren



---------------------------------------------------------
#!/usr/bin/perl

#
# Change the values of %userdata before running this script.
# and change all localdomaine's to .... whatever.
#


use Net::LDAP;


# Getting user input
system "stty -echo";
print "Enter password for the Windows 2000 Administrator: ";
chop($passwd = <STDIN>);
print "\n";
system "stty echo";


# Connecting
$ldap = Net::LDAP->new('windowsserver.localdomaine.com', onerror =>
'die');
$ldap->bind (dn => 'CN=Administrator,cn=Users,dc=localdomaine,dc=com',
password => $passwd);


%userdata = ( username => 'test@localdomaine.com',
samusername => 'test',
givenname => 'Test',
surname => 'Testguy',
fullname => 'Test Testguy',
mail => 'test@localdomaine.com',
www => 'http://www.localdomaine.com/~test');


$dn = "cn=$userdata{fullname},cn=users,dc=localdomaine,dc=com";


$result = $ldap->add ( dn => $dn,
attr => [ 'userPrincipalName' =>
$userdata{username},
'sAMAccountName' =>
$userdata{samusername},
'name' =>
$userdata{fullname},
'displayName' =>
$userdata{fullname},
'givenName' =>
$userdata{givenname},
'sn' =>
$userdata{surname},
'mail' => $userdata{mail},
'wWWHomePage' => $userdata{www},
'objectclass' => [ 'top',
'person',

'organizationalPerson',
'user' ], ] );


$result->code && warn "failed to add entry: ", $result->error ;


# Unbinding
$ldap->unbind;
---------------------------------------------------------

Soren Schimkat (11-04-2001)
Kommentar
Fra : Soren Schimkat


Dato : 11-04-01 11:04

Hey

Syntes lige jeg ville dele lidt ud - her er et script der kan prestage
en maskine.

mvh Søren

--------------------------------------------------------
#!/usr/bin/perl


use Net::LDAP;


# Getting user input
print "Enter computername (Xxxxxxxxxxxxxxx) : ";
chop($computername = <STDIN>);
print "Enter MAC-adress (xx xx xx xx xx xx) : ";
chop($mac = <STDIN>);
$mac =~ s/\W//g;
print "Enter password for the Windows 2000 Administrator: ";
system "stty -echo";
chop($passwd = <STDIN>);
system "stty echo";
print "\n";


# Connecting
$ldap = Net::LDAP->new('win2k.localdomaine.dk', onerror => 'die');
$ldap->bind (dn => 'CN=Administrator,cn=Users,dc=localdomaine,dc=dk',
password => $passwd);


%computerdata = ( Name => $computername,
SAM => $computername . "\$",
DNS => $computername . ".localdomaine.dk",
Guid => pack("H*", "00000000000000000000" .
$mac),
Institute => $institute,
Type => $type);


$dn = "cn=$computerdata{Name},cn=computers,dc=localdomaine,dc=dk";
$result = $ldap->add ( dn => $dn,
attr => [ 'name' =>
$computerdata{Name},
'sAMAccountName' =>
$computerdata{SAM},
'dNSHostName' =>
$computerdata{DNS},
'netbootGUID' =>
$computerdata{Guid},
'netbootMachineFilePath' => 'Win2k',
'netbootInitialization' =>
'\\\\WIN2K\\REMINST\\Setup\\DANISH\\IMAGES\\win2000.pro',
'userAccountControl' => '544',
'objectclass' => [ 'top',

'computer'], ] );
$result->code && warn "failed to create comuter: ", $result->error ;


# Unbinding
$ldap->unbind;

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste