Question
Changer le Owner sur une arbo de fichiers (Résolu)
- balek
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 71
- Remerciements reçus 0
il y a 16 ans 3 mois #890
par balek
Changer le Owner sur une arbo de fichiers (Résolu) a été créé 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
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.
- Jacques Barathon
- Hors Ligne
- Administrateur
-
Réduire
Plus d'informations
- Messages : 576
- Remerciements reçus 0
il y a 16 ans 2 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
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.
- balek
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 71
- Remerciements reçus 0
il y a 16 ans 2 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
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.
- balek
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 71
- Remerciements reçus 0
il y a 16 ans 2 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 \"\\srv03\users$\"
$csv = import-csv \"c:\tmp\la.csv\"
$csv = foreach {rename-item $_.ancien $_.nouveau}[/code:1]
Il y a surement moyen de faire plus \"propre\".
La premiere ligne me plait guere.
Merci encore !!
[code:1]cd \"\\srv03\users$\"
$csv = import-csv \"c:\tmp\la.csv\"
$csv = foreach {rename-item $_.ancien $_.nouveau}[/code:1]
Il y a surement moyen de faire plus \"propre\".
La premiere ligne me plait guere.
Merci encore !!

Connexion ou Créer un compte pour participer à la conversation.
- balek
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 71
- Remerciements reçus 0
il y a 16 ans 2 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 \"nouveau\" du csv comme nom de proprietaire.
LA fonction a utiliser doit etre :
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
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 \"nouveau\" 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.
- Robin Lemesle
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 260
- Remerciements reçus 0
il y a 16 ans 2 mois #907
par Robin Lemesle
Robin MVP PowerShell
Réponse de Robin Lemesle sur le sujet Re:Modification repertoire
Salut balek
Juste pour te donner une petite info, pour changer le propriétaire :
[code:1]
[System.Security.Principal.NTAccount]$owner=\"Administrator\"
(Get-item <tonfichier>«»).getaccesscontrol().SetOwner($owner)[/code:1]
Voilà qui devrait t'aider...
A bientot
<br><br>Message édité par: robin, à: 11/09/07 11:17
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=\"Administrator\"
(Get-item <tonfichier>«»).getaccesscontrol().SetOwner($owner)[/code:1]
Voilà qui devrait t'aider...
A bientot

Robin MVP PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.086 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Changer le Owner sur une arbo de fichiers (Résolu)