[R] Création de compte AD

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
RedOx
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mar. 07 avr. 2015 09:02
Status : Hors ligne

[R] Création de compte AD

#1

Message par RedOx »

Bonjour à tous,

Tout d'abord, j'ai un fichier Excel sur lequel il faudra remplir les informations de l'utilisateur pour le rentrer dans l'AD. En cliquant sur envoyer, un fichier se créé et un mail est envoyé.

Voilà le fichier en question :
► Afficher le texte
Lors de implémentation de ces données dans l'AD, j'ai quelques problèmes.

La date de fin ne s'ajoute pas correctement dans l'AD, "accountExpires". Par exemple quand j'écris 15/06/2015 sur fichier Excel puis après j'exécute le script, dans l'AD il remonte toujours la même date : 24/01/1601. Je voulais savoir s'il n'y avait pas une histoire de format de date US/FR.

Edit : J'ai trouver que la date dans AD est dans un format particulier (Nanoseconde depuis 1601, je crois), il faut juste que je trouve un moyen de convertir une date normal en date format AD. Il y a pas mal de convertisseur de date AD en date normal, mais je cherche le contraire.


Après, j'ai encore quelques questions du fait que je suis débutant, nul sur AutoIt.

Je voudrais compter les lignes utilisées dans le tableau Excel. J'ai mis par défaut un tableau de 14 lignes mais je pense que généralement que seulement 2 ou 3 lignes seront utilisées. J'ai fait ce bout de code mais cela ne marche pas :
► Afficher le texte
Avez-vous une idée pour m'aider sur ce point?

Edit : Voilà mon code en entier :
► Afficher le texte
J'aimerais bien votre aide pour résoudre mes problèmes. De plus si vous connaissez un bon tutoriel sur AutoIt / AD, je suis preneur.

Merci d'avance ! :)
Modifié en dernier par RedOx le jeu. 09 avr. 2015 08:36, modifié 5 fois.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1038
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Création de compte AD

#2

Message par walkson »

Bonjour,
Pas testé mais ça devrait le faire

Code : Tout sélectionner

             for $j = 1 to 14 step 1

                if $oExcel.ActiveSheet.Cells(1+$j,1).value > "" Then 

                   $nb_ligne +=  1

                EndIf

             Next
Si ça ne marche pas, essayez > " " (espace entre les 2 " )
Et pour faire plus simple s'il n'y a qu'un tableau dans la sheet

Code : Tout sélectionner

$nbrows = $oExcel.ActiveSheet.Cells(1, 1).CurrentRegion.Rows.Count
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
RedOx
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mar. 07 avr. 2015 09:02
Status : Hors ligne

Re: [..] Création de compte AD

#3

Message par RedOx »

Merci Walkson. Effectivement ca marche mieux avec ton code. :)
RedOx
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mar. 07 avr. 2015 09:02
Status : Hors ligne

Re: [..] Création de compte AD

#4

Message par RedOx »

J'ai encore 2 questions.

N°1. J'ai réussi à convertir ma date dans le format LDAP pour l'implémenter dans l'AD mais ce format est composé de 18 chiffres. Quand je fais ma dernière opérations :

$datefinldap = ($datefinepoch + 11644473600)*10000000

Le résultat m'est retourné sous puissance de 10. Par exemple 1.30724064e+017. je voudrais savoir s'il y a un moyen de forcer à écrire pleinement le résultat sur 18 chiffres.

N°2. Je fais maintenant une recherche de mes fichiers Excel et les ouvrent l'un à la suite de l'autre. Je voudrais après les avoir lus, les déplacer dans un autre dossier.
► Afficher le texte
Tout marche correctement sauf le fait que le fichier ne se déplace pas dans le dossier.

Mon code en entier :
► Afficher le texte
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1038
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Création de compte AD

#5

Message par walkson »

Rebonjour,
Si nous avons la même include, votre chemin se répète en double "D:\AA\D:\AA\Exel.xls" et donc il faut compléter la fonction

Code : Tout sélectionner

$recherche = _RecFileListToArray("D:\USERS\Nouvelles Demandes\","*.xls", 1, 0, 0, 0)
Pour avoir seulement le nom du fichier.
Éventuellement, rajoutez l'option 8 ( 8 = $FC_CREATEPATH) à Filemove
J'utilise régulièrement ceci (dans la boucle)

Code : Tout sélectionner

MsgBox(0,"",$recherche[$k]) ou
ConsoleWrite($recherche[$k] & @CRLF)
pour m'assurer du résultat
Pour connaitre les conditions d'une UDF vous surlignez l'include "RecFileListToArray.au3" et dans outils de scite "open include"
Autrement "F1" --> "_FileListToArrayRec " Vous avez la même fonction qui est incluse dans Autoit (Comme cela, on parle de la même chose)
Pour la question 1, je laisse les spécialistes à l’œuvre.
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Création de compte AD

#6

Message par jguinch »

Pour n°1 :

Code : Tout sélectionner

$datefinldap = 1.30724064e+017
ConsoleWrite($datefinldap & " = " & StringFormat("%.0f", $datefinldap) & @CRLF)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Création de compte AD

#7

Message par orax »

Il y a un truc qui m'intrigue... dans l'UDF AD c'est Int() qui est utilisé mais ça ajoute 1 au résultat. Y aurait-il une erreur dans l'UDF ?

Code : Tout sélectionner

$datefinldap = 1.30724064E+017
ConsoleWrite(StringFormat("%.0f", $datefinldap) & @CRLF) ; 130724064000000000
ConsoleWrite(Int($datefinldap) & @CRLF)                  ; 130724064000000001
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
RedOx
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mar. 07 avr. 2015 09:02
Status : Hors ligne

Re: [..] Création de compte AD

#8

Message par RedOx »

C'est bon! Parfait!
Merci à vous 3 trois pour votre aide! J'ai plus de problème, tout marche comme je voulais alors je vais mettre le sujet en résolu! :)
Répondre