Question Changer le Owner sur une arbo de fichiers (Résolu)

Plus d'informations
il y a 16 ans 7 mois #890 par balek
Bonjour,

et oui c'est encore moi et mes ptites questions de debutant en powershell.

Je voudrais renommer plusieurs repertoires en utilisant un fichier csv. ces repertoires etant sur un servuers distant.

J'ai commencé avec cela :

[code:1]$csv = import-csv d:\tmp\la.csv
$csv | foreach-object.... [/code:1]

Je sais, je n'ai pas bcp avancé.
J'ai bien trouvé la commande et alias \" rename-item\"
[code:1]rename-item d:\tmp\la d:\tmp\ici[/code:1]
qui va me servir à renommer mais je n'arrive vraiment pas à faire pointer les champs de mon fichiers csv sur la commande.

Rude rude,

@+ et merci.

Message édité par: balek, à: 6/09/07 11:13<br><br>Message édité par: Arnaud, à: 13/09/07 17:51

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

Plus d'informations
il y a 16 ans 7 mois #901 par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Modification repertoire
Supposons que ton fichier csv a le format suivant:

ancien,nouveau
d:\tmp\la,d:\tmp\ici
d:\toto\pasbeau,d:\toto\bienmieux

Tu peux écrire cela:

[code:1]
$csv = import-csv rep.csv
$csv | foreach {move $_.ancien $_.nouveau}
[/code:1]
Et voilà :)

J'ai utilisé move (alias de move-item) qui me permet d'utiliser le chemin complet pour le nouveau nom. Sinon, si le fichier ne contenait que les noms des nouveaux répertoires (par exemple ici à la place de d:\tmp\ici) il aurait suffi d'utiliser rename-item, comme tu l'as fait.

Janel

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

Plus d'informations
il y a 16 ans 7 mois #902 par balek
Réponse de balek sur le sujet Re:Modification repertoire
Merci je viens de comprendre l'utilisation de foreach, (enfin vous direz.. )

Par contre, j'ai du mal à utiliser le rename-item plutot que le move, car ds mon fichiers csv, je prefererai avoir juste l'ancien et nouveau nom du repertoire.
Je voudrais donc passer le chemin des repertoires à modifier dans le script et non pas dans le csv.

je pensait pouvoir faire un :
[code:1]$csv | foreach {rename-item -path \\gg-sv-3\user$ $_.ancien $_.nouveau}[/code:1]


Mais nan, ca n'a pas l'air d'etre comme ca.

Je cherche encore la syntaxe.

Merci<br><br>Message édité par: balek, à: 10/09/07 10:20

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

Plus d'informations
il y a 16 ans 7 mois #903 par balek
Réponse de balek sur le sujet Re:Modification repertoire
Bon, on traficant un peu, j'arrive à cela :

[code:1]cd \&quot;\\srv03\users$\&quot;
$csv = import-csv \&quot;c:\tmp\la.csv\&quot;
$csv = foreach {rename-item $_.ancien $_.nouveau}[/code:1]

Il y a surement moyen de faire plus \&quot;propre\&quot;.
La premiere ligne me plait guere.

Merci encore !!:)

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

Plus d'informations
il y a 16 ans 7 mois #904 par balek
Réponse de balek sur le sujet Re:Modification repertoire
J'ai rajouté un peu de difficulté :

Je voudrais renommer ces repertoires ( ca c'est ok ) mais en meme temps, je voudrais modifier le propriétaire de chaque repertoire, en prenant le champs \&quot;nouveau\&quot; du csv comme nom de proprietaire.


LA fonction a utiliser doit etre :

set-acl | select-object owner ..


encore merci, je progresse doucement, mais j'y travaille !!

@+

Message édité par: balek, à: 10/09/07 14:39<br><br>Message édité par: balek, à: 10/09/07 15:49

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

Plus d'informations
il y a 16 ans 7 mois #907 par Robin Lemesle
Réponse de Robin Lemesle sur le sujet Re:Modification repertoire
Salut balek

je voudrais modifier le propriétaire de chaque repertoire


Juste pour te donner une petite info, pour changer le propriétaire :

[code:1]
[System.Security.Principal.NTAccount]$owner=\&quot;Administrator\&quot;
(Get-item &lt;tonfichier&gt;«»).getaccesscontrol().SetOwner($owner)[/code:1]

Voilà qui devrait t'aider...



A bientot ;)<br><br>Message édité par: robin, à: 11/09/07 11:17

Robin MVP PowerShell

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

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