IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Aide débutant Script Perl sous server 2008


Sujet :

Langage Perl

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Aide débutant Script Perl sous server 2008
    Bonjour,

    Voila je suis nouveau et je suis débutant sur perl, je dois faire quelque script perl sous server 2008 qui doit commander l'active Directory.
    J'ai deja fait des script perl tout simple en renommant l'extension du fichier en .pl, avec google et quelque tuto je m'en sort finalement pas mal!
    Mais je dois appliquer quelques script sous server 2008 avec l'AD, malgrer mes recherche google, je n'est pas trouvée grand chose.. je viens donc a votre aide!
    Bon voila mes script version phrase!

    -Générer un 1 mot de passe de 8 caracteres
    Ma recherche google a abouti a cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    sub randomPassword {
    my $password;
    my $_rand;
     
    my $password_length = $_[0];
        if (!$password_length) {
            $password_length = 8;
        }
     
    my @chars = split(" ",
        "a b c d e f g h i j k l m n o
        p q r s t u v w x y z - _ % # |
        0 1 2 3 4 5 6 7 8 9");
     
    srand;
     
    for (my $i=0; $i <= $password_length ;$i++) {
        $_rand = int(rand 41);
        $password .= $chars[$_rand];
    }
    return $password;
    }
    Ce script ne fonctionne pas du tout.. Et je ne c'est pas comment le modifier pour le faire fonctionner avec l'AD de server 2008.

    - Générer le login (1ere lettre du prénom en minuscule + NOM)
    La encore chez google c'est le brouillard!

    - Récupérer 1 info dans le fichier et affiche la valeur de 3 variables (nom/prenom)
    De même rien trouver sur google

    - Générer 1 compte utilisateur d'Active directory
    idem!

    En esperant avoir de l'aide de votre part!
    Merci !

  2. #2
    Membre averti
    Avatar de magicshark
    Homme Profil pro
    Dans une SS2I donc pas que JAVA
    Inscrit en
    Octobre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dans une SS2I donc pas que JAVA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 133
    Points : 320
    Points
    320
    Par défaut
    pour les mots de passe avec une simple recherche google je tombe la dessus (modifier pour 8 caractères)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    use strict;
    sub gen_passwd {
    my $password ;
    my @letters=( ('a'..'z'), ('A'..'Z'), (0..9) );
    $password .= $letters[rand($#letters)] for (1..8) ;
    return $password ;
    }
     
    my $password=gen_passwd();
    print $password;
    version courtes mais plus compliquée à comprendre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my @c = ( 'A' .. 'Z', 'a' .. 'z', '0' .. '9' );
    my $password = join '', map $c[rand @c], 1 .. 10;
    pour le reste je n'ai jamais jouer avec AD mais avec une recherche sur CPAN j'ai trouvé ça
    Pourquoi faire simple quand on peut faire compliqué.

  3. #3
    Membre averti
    Avatar de magicshark
    Homme Profil pro
    Dans une SS2I donc pas que JAVA
    Inscrit en
    Octobre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dans une SS2I donc pas que JAVA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 133
    Points : 320
    Points
    320
    Par défaut
    précision je n'est pas complètement adapter le script du mot de passe (le mien(honteusement pomper )) n'autorise que les lettres Majuscules et minuscules, et les chiffres.

    Générer le login (1ere lettre du prénom en minuscule + NOM)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sub get_login{
        my ($prenom, $nom) = @_;
        return lc(substr($prenom,0,1)).uc($nom);
    }
    - Récupérer 1 info dans le fichier et affiche la valeur de 3 variables (nom/prenom)
    Quel fichier ?
    Pourquoi faire simple quand on peut faire compliqué.

  4. #4
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Bonjour team-x380,

    voici une version corrigée de ton programme et aussi plus "perliste":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    use strict;
    use warnings;
     
    print randomPassword(), "\n" for 1..5;
     
    sub randomPassword {
     
    	my $pwd_len = shift;
    	$pwd_len = 8 unless $pwd_len;
     
    	my @chars = ("a".."z", 0..9, qw / - _ % | /);	 
    	# srand; inutile avec les versions modernes de Perl
     
    	my $password; # déclare tes variables le plus près possible de là où tu en as besoin, pas au début du programme ou de la fonction 
    	# for (my $i=0; $i <= $pwd_len ;$i++) { cette boucle est erronée, elle va générer une lettre de plus que le nombre voulu
    	for (1..8) {
    	    $password .= $chars[ int(rand $#chars)];
    	}
    	return $password;
    }
    A l'exécution, elle imprime 5 mots de passe de 8 lettres ou caractères (puisque j'appelle la fonction 5 fois) sans lui passer d'argument:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    vsnea2%4
    suiviq69
    cnebq7fr
    m0nz%7ny
    c8%7tkm5
    La boucle for:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	for (1..8) {
    	    $password .= $chars[ int(rand $#chars)];
    	}
    j'aurais tendance à la réécrire comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $password .= $chars[ int(rand $#chars)] for 1..8;
    Pour le reste de tes questions, c'est a priori très simple, mais donne un exemple de ton fichier et dis ce que tu veux récupérer dedans.

Discussions similaires

  1. Exécuter un script perl sous vb6
    Par M E H D I dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/05/2010, 17h06
  2. Réponses: 37
    Dernier message: 10/09/2008, 15h16
  3. probleme script perl sous windows
    Par wirgilus dans le forum Langage
    Réponses: 4
    Dernier message: 05/06/2008, 11h34
  4. Lancer Scripts Perl sous MySQL 5
    Par hanky dans le forum Installation
    Réponses: 2
    Dernier message: 01/10/2006, 15h26
  5. Réponses: 3
    Dernier message: 31/01/2006, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo