Question
Erreur de syntaxe
- agjij
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 16 ans 8 mois #495
par agjij
Erreur de syntaxe a été créé par agjij
Bonjour à tous,
j'ai une erreur de syntaxe que je n'arrive pas à résoudre:
Le but de ces quelques lignes est de supprimer et recreer une arborescence sur base d'un fichier contenant les noms d'utilisateurs.
remove-item d:\scan\*
get-content d:\users.txt|foreach-object {new-item -path D:\Scan\ -name $_ -type directory}
get-content d:\users.txt|foreach-object {echo Y|cacls D:\scan\$_ /t /C /P Domaine\$_:f}
Le problème se situe à la fin de la troisième ligne.
Apparemment, le pc effectue une opération avec $_:f et il me retourne une valeur vide.
Merci d'avance pour votre aide.
Jaja.
j'ai une erreur de syntaxe que je n'arrive pas à résoudre:
Le but de ces quelques lignes est de supprimer et recreer une arborescence sur base d'un fichier contenant les noms d'utilisateurs.
remove-item d:\scan\*
get-content d:\users.txt|foreach-object {new-item -path D:\Scan\ -name $_ -type directory}
get-content d:\users.txt|foreach-object {echo Y|cacls D:\scan\$_ /t /C /P Domaine\$_:f}
Le problème se situe à la fin de la troisième ligne.
Apparemment, le pc effectue une opération avec $_:f et il me retourne une valeur vide.
Merci d'avance pour votre aide.
Jaja.
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 8 mois #515
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Erreur de syntaxe
Le passage de paramètres à des exe quand ceux-ci contiennent des \":\" trouble PowerShell. Il faut alors entourer la séquence entre guillemets.
Qui plus est, l'enchaînement \"$_:f\" perturbe également PowerShell, il faut donc isoler $_ en le mettant en sous-expression: \"$($_)\".
Au final, ça donne ça:
[code:1]get-content users.txt | foreach-object {
md $_
echo Y | cacls $_ /t /c /p \"domaine\$($_):f\"
}[/code:1]
Tu noteras que j'ai regroupé création du répertoire et application des sécurités en une seule boucle. A toi de voir si ça t'est utile.
Janel
Qui plus est, l'enchaînement \"$_:f\" perturbe également PowerShell, il faut donc isoler $_ en le mettant en sous-expression: \"$($_)\".
Au final, ça donne ça:
[code:1]get-content users.txt | foreach-object {
md $_
echo Y | cacls $_ /t /c /p \"domaine\$($_):f\"
}[/code:1]
Tu noteras que j'ai regroupé création du répertoire et application des sécurités en une seule boucle. A toi de voir si ça t'est utile.
Janel
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.063 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Erreur de syntaxe