Question Comp. d'objets : différences de résultats (Résolu)

Plus d'informations
il y a 17 ans 11 mois #2171 par sonic
oulalalala !!!!
Je pense avoir compris.
En clair il ne faut pas que je compte sur -contain ?
Au fait il semblerai que je n'ai pas ce problème avec le renomage !

Retour à la suppression.
Bon ça fontionne presque :

[code:1]$ancien | where-object {((get-childitem $rep -r $_.name) -eq $null)}[/code:1]
Seul souci, si on supprime un fichier et qu'un autre porte le même nom, la suppression n'apparait pas. Par contre si on supprime tous les fichiers de même nom, la suppression de tous ces fichiers apparait.

Ce qui me reste:
1. La méthode compare object :
Du travail pour obtenir un rapport égal à ce les autre parti du script me donne c'est dire une liste de cette forme :
[code:1]06/03/2008 14:12:26 ttyyyuuu.xls \testbb\Entrées\repertoire1[/code:1]

2. Travailler sur :
[code:1]$ancien | where-object {((get-childitem $rep -r $_.name) -eq $null)}[/code:1] car si je ne passe pas par un import d'objet ça fonctionne.
J'ai tenté de remplacer \"get-childitem\" par son equivalent exporté puis importé. Pensant comparer 2 objets (ou collection d'objets ?) de même type et du coup me passer du .name qui cause la non détection des doublons. Ben non !!! Ca me donnait :

[code:1]
$ancien | where-object {($actuel | foreach {$_.name}) -notcontains $_.name}[/code:1]
Ou donc $actuel et comme $ancien (mais contenant le nouvel état) un objet importé. Faut que je reteste parce que ça me semble bon ?

3. Ou encore :
[code:1]$ancien | where-object {((get-childitem $rep -r $_.name) -eq $null)}[/code:1]
mais en faisant en sorte d'ajouter dans le filtre le chemin ce qui empêchera les non-detections.

J'ai pas fini !!!! En tous cas j'ai appris pas mal de trucs avec ta démonstration.<br><br>Message édité par: Arnaud, à: 28/04/08 14:12

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 11 mois #2173 par Laurent Dardenne
Salut,
sonic31 écrit:

En clair il ne faut pas que je compte sur -contain ?

Je reste dubitatif sur le sujet.
sonic31 écrit:

1 La méthode compare object :
...
une liste de cette forme :
06/03/2008 14:12:26 ttyyyuuu.xls \testbb\Entrées\reptoire1

Le mieux est peut être d'arriver à ajouter l'information de tri dans chaque objet traité :/

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 11 mois #2207 par Jacques Barathon
Une autre piste radicalement différente de celle poursuivie jusqu'ici consisterait à s'appuyer sur les évènements WMI. On peut assez facilement mettre en oeuvre la surveillance d'évènements pour suivre les modifications dans un répertoire ou une disque logique donné.

Je n'ai pas le temps de développer ici, car comme à chaque fois qu'il s'agit de WMI, les infos sont un peu laborieuses à retrouver et la syntaxe s'avère très verbeuse, mais si quelqu'un a une expérience concrète à partager? Sinon, j'essaierai de donner un exemple quand j'aurai plus le temps.

Janel

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 11 mois #2213 par Robin Lemesle

Une autre piste radicalement différente de celle poursuivie jusqu'ici consisterait à s'appuyer sur les évènements WMI. On peut assez facilement mettre en oeuvre la surveillance d'évènements pour suivre les modifications dans un répertoire ou une disque logique donné.


Effectivement, c'est quelque chose que j'ai déjà réalisé. Je n'ai malheuresement plus le script, mais voici un lien qui donne des indications (ok c'est du vb, mais c'est tres facile à implementer en PowerShell)

www.microsoft.com/technet/scriptcenter/r...a/apr05/hey0404.mspx

Robin MVP PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 11 mois #2218 par Laurent Dardenne
janel écrit:

Une autre piste radicalement différente de celle poursuivie jusqu'ici consisterait à s'appuyer sur les évènements WMI.
...

Pour la collecte on est d'accord, on est tous conscient que cette approche n'est pas la plus pertinente, en revanche pour l'analyse des données collectées puisque c'est là que le bât blesse, WMI ne nous est plus d'une grande utilité. A moins de le coupler avec un SGBD/Access.
Où se trouvera la persistence des données collectés ?
Sur quels critéres ?
Mettre en place le versionning de données avec un SGBD c'est pas mal comme exercice :lol:
janel écrit:

...
car comme à chaque fois qu'il s'agit de WMI, les infos sont un peu laborieuses à retrouver

Pas tout à fait, ici je pense que c'est plus une question d'adaptation de code existant :
Voir delphi.developpez.com/faq/?page=wmifichiers
Encore faut-il que son implèmentation soit possible sous PS V1.

M'est avis que nous sommes dans un cas de développement d'une solution de gestion de données système plus que dans du scripting d'administration.
Je ne suis pas certains que cela soit aisé à réaliser avec des outils comme TNG ou Patrol.
C'est ce que j'ai pu faire, avec d'autres ingénieurs d'études,il y a qq annés autour des données de production des ordonnanceurs dollarUniverse de la Société Générale. Dans ce cas ci c'était plus le suivi des batch de production (gestion des events, parsing des données,propagation dans TNG et enfin historisation dans une base Oracle) que le monitoring d'un FS.

Je peux me tromper mais je ne pense pas que ce type de pb soit si trivial qu'il en a l'air:huh:
Mais si vous voulez vous lancer dans une implémentation pas de soucis je vous donnerais un coup de main...

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 11 mois #2229 par sonic
Bonjour,
Pour l'instant je met en production le script avec son defaut . Je continu a chercher la solution .
La piste WMI est en projet , je m'y attelerai plus tard car je ne connais absolument pas . J'ai bien l'exemple trouvé sur le site et le livre mais j'ai pas encore suffisament compris pour me lancer .

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.049 secondes
Propulsé par Kunena