Bonjour,
J'ai actuellement une page intranet qui permet d'éffectuer des modifications sur les informations des comptes Active Directory. Lorsque l'on modifie, cela créé un fichier XML et le stock dans une partition du disque dure partagé (m).
Je voudrais que pour effectuer la mise à jour on trouve le fichier le plus ancien, car un même compte peu avoir 2 fichiers XML de mise à jour, étant donné que celui qui nous intéresse est le plus récent, il faudrait commencer par les plus vieux et une fois qu'il sera lu et ajouté on l'archivera dans un dossier "archive_xml"
J'ai pensé à résoudre le script comme cela :
1) Compter nombres d'éléments présent dans le dossier
2) Exécutez une boucle qui se répète autant de fois qu'il y a d'élements
3) Sélectionner le fichier le plus ancien dans le dossier
4) Mettre à jour dans l'Active Directory le fichier XML le plus ancien
5) Déplacer le fichier XML dans un dossier archive_xml
Mais il y a un problème.. si vous pouvez m'aider merci
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
23
24
25
26
27 $i = (Dir \\Win-webserver\m\*.xml).Count For($j=0; $j -lt $i; $j++) { $tableauFichiers = Get-Childitem \\Win-Webserver\m\*.xml $plusAncien = get-date foreach ($tmp in $tableauFichiers) { if ([system.dateTime]::Compare($tmp.CreationTime, $plusAncien) -lt 0) { $plusVieuxFichier = $tmp; $plusAncien = $plusVieuxFichier.CreationTime } } $nom = $plusVieuxFichier.Name $xmldata = [xml] (Get-Content \\Win-Webserver\m\$nom) $login = $xmldata.utilisateur.login $user = [ADSI] "LDAP://CN=$login, CN=Users, DC=solidaris, DC=local" $user.Put('sn', $xmldata.utilisateur.nom) $user.Put('givenName', $xmldata.utilisateur.prenom) $user.Put('telephoneNumber', $xmldata.utilisateur.telephone) $user.Put('mail', $xmldata.utilisateur.email) $user.Put('company', $xmldata.utilisateur.companie) $user.Put('department', $xmldata.utilisateur.departement) $user.Put('Description', $xmldata.utilisateur.description) $user.SetInfo() Move-Item \\Win-Webserver\m\$nom c:\archive_xml }
Partager