Question Erreur de syntaxe

Plus d'informations
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.

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

Plus d'informations
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

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

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