J'envisage d'écrire des scripts Perl qui interagissent avec Active Directory. Étant un peu nouveau pour Perl, je me demandais s'il y avait des modules spécifiques, des outils, des techniques, etc. En ce moment, je cherche seulement à tirer l'information d'utilisateur pour traiter avec le manuscrit.Comment puis-je utiliser Active Directory à partir de Perl?
Répondre
D'après ce que je comprends, il y a deux options:
- module OLE :: Win32
- Execute outils externes (suchs DSQuery, dsget, etc.) et analyser la sortie.
Je n'ai pas beaucoup d'expérience avec Win32 :: Ole, peut-être que quelqu'un d'autre peut développer un peu.
La meilleure source de Active Directory example code in Perl is available here. C'est de Robbie Allen, le co-auteur de l'excellent Active Directory Cookbook d'O'Reilly.
Here is an example de leur code de livre de cuisine:
# This Perl code finds all disabled user accounts in a domain.
# ---------------------------------------------------------------
# Adapted from VBScript code contained in the book:
# "Active Directory Cookbook" by Robbie Allen
# ISBN: 0-596-00466-4
# ---------------------------------------------------------------
# ------ SCRIPT CONFIGURATION ------
my $strDomainDN = "<DomainDN>"; # e.g. dc=rallencorp,dc=com
# ------ END CONFIGURATION ---------
use Win32::OLE;
$Win32::OLE::Warn = 3;
my $strBase = "<LDAP://" . $strDomainDN . ">;";
my $strFilter = "(&(objectclass=user)(objectcategory=person)" .
"(useraccountcontrol:1.2.840.113556.1.4.803:=2));";
my $strAttrs = "name;";
my $strScope = "subtree";
my $objConn = Win32::OLE->CreateObject("ADODB.Connection");
$objConn->{Provider} = "ADsDSOObject";
$objConn->Open;
my $objRS = $objConn->Execute($strBase . $strFilter . $strAttrs . $strScope);
$objRS->MoveFirst;
while (not $objRS->EOF) {
print $objRS->Fields(0)->Value,"\n";
$objRS->MoveNext;
}
@Mick ne publiez pas de liens d'affiliation pour éviter que votre réponse ne soit marquée comme spam. –
Mon diable, je ne savais pas que c'était. Je viens d'attraper leur lien Amazon de leur site sans y penser. Merci d'avoir réparé! – Mick
Je reçois une erreur ("Table n'existe pas") en utilisant ce code. J'ai essayé de remplacer le $ strDomainDN avec quelque chose que je pense est bon pour mon entreprise, mais il doit être faux. Comment trouvez-vous le DN? – jimtut
- 1. Comment utiliser l'authentification NTLM avec Active Directory
- 2. Active Directory
- 3. Active Directory dans VB.Net
- 4. Authentification Active Directory
- 5. Active Directory - Django/Rails
- 6. Port Microsoft Active Directory
- 7. Classe d'assistance Active Directory
- 8. Active Directory Filter memberof
- 9. Active Directory vs OpenLDAP
- 10. Comment ajouter le support Active Directory à Windows PE?
- 11. Dans Active Directory, à quoi sert mailNickname?
- 12. API C++ à développer sur Active Directory
- 13. Ajout d'un utilisateur à Active Directory
- 14. Modification des propriétés Active Directory
- 15. Comment trouver un utilisateur dans Active Directory à partir de C#?
- 16. Comment configurer un test d'environnement Active Directory?
- 17. Synchronisation Active Directory avec transformation?
- 18. Interrogation Active Directory avec "SQL"?
- 19. Active Directory et ID réseau
- 20. Champ manquant dans Active Directory?
- 21. Active Directory authetication dans IE
- 22. Active Directory plusieurs gestionnaires/départements
- 23. Authentification Windows, autorisations personnalisées, WCF, Active Directory
- 24. authentification silencieuse avec Tomcat et Active Directory
- 25. CommentFaire - Définir délégué des privilèges Active Directory
- 26. Utilisation de CSLA.NET avec Active Directory
- 27. Appel d'authentification générique à Active Directory en C#
- 28. Authentification Active Directory sur WSS 3.0
- 29. Authentification Active Directory sans fenêtre contextuelle
AD est LDAP. Parlez à AD comme vous le feriez avec un serveur LDAP. – jrockway