2016-12-02 2 views
0

Je suis un peu nouveau à Powershell et j'essaie de compléter un script simple pour un projet sur lequel je travaille. Je comprends que ça marche à 95% mais ça ne retourne pas les résultats. J'ai chargé le module NTFSSECURITY et j'utilise Add-NTFSACCESS pour définir Refuser la suppression sur plusieurs dossiers en utilisant les chemins stockés dans un fichier .csv. Voir ci-dessous.Powershell Ajouter-NTFSAccess en utilisant csv

Script

$itempath = import-csv "C:\dox\folderpath.csv" 
foreach ($items in $itempath) { 
    Add-NTFSAccess -path $itempath -AccessRights Delete -Account "domain\username" -AccessType Deny -AppliesTo ThisFolderOnly 
} 

C'est l'erreur je reçois

Add-NTFSAccess: Impossible de trouver le fichier spécifié.

S'il vous plaît aider

+2

'$ itempath' est votre collection. Donc vous voulez utiliser '$ items' pour le chemin. – BenH

Répondre

2

Add-NTFSAccess -path $itempath cela dit que le chemin powershell à l'élément que vous souhaitez modifier l'accès à est un tableau d'objets powershell que vous avez importés de votre CSV. Vous aurez besoin de changer cela à $items.something avec "quelque chose" étant l'en-tête de la colonne dans votre fichier CSV qui contient le chemin.

0

OK Les gars, merci beaucoup pour votre contribution. C'est un script simple et ce que vous avez dit tous les deux devrait fonctionner, mais j'ai des erreurs différentes. J'ai trouvé un moyen de le faire sans utiliser un fichier csv, mais cela va appliquer l'autorisation à tous les dossiers dans le répertoire. Travaille pour moi. S'il vous plaît ne vous devez importer le module NTFSSECURITY utiliser Add-NTFSAccess

Get-ChildItem "répertoire \ \ chemin \" -Directory | % {$ _. Nom complet} | Add-NTFSAccess -AccessRights Supprimer -Account "domaine \ nom d'utilisateur" -AccessType Deny -AppliesTo ThisFolderOnly