2016-12-02 21 views
0

私はPowershellに少し新しく、私が取り組んでいるプロジェクトのための簡単なスクリプトを完成しようとしています。私はそれが道の95%を働かせますが、結果を返さないだけです。私はNTFSSECURITYモジュールを読み込んでおり、Add-NTFSACCESSを使用して、.csvファイルに保存されたパスを使用して複数のフォルダに対してDeny deleteを設定しています。下記参照。Powershell Add-NTFSAccess with csv

スクリプト

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

これは私が

アドインNTFSAccessを得るエラーです:指定されたファイルを見つけることができません。

これはあなたがアクセス権を変更したい項目へのパスがあなたのCSVからインポートPowerShellのオブジェクトの配列であるPowerShellを語っている

+2

'$ itempath'はあなたのコレクションです。だからパスに '$ items'を使いたいと思っています。 – BenH

答えて

2

Add-NTFSAccess -path $itempath助けてください。それは$items.somethingに変更する必要があります。「何か」はパスを含むCSVファイルの列の見出しです。

0

OK皆さん、ありがとうございました。そのシンプルなスクリプトとあなたの両方がうまくいくはずですが、私は別のエラーが発生しています。私はcsvファイルを使用せずにこれを行う方法を見つけましたが、これはディレクトリ内のすべてのフォルダにアクセス許可を適用します。私のために働く。 Add-NTFSAccessを使用するためにNTFSSECURITYモジュールをインポートする必要はありません。

Get-ChildItem "\ directory \ path \" -Directory | %{$ _。FullName} | Add-NTFSAccess -AccessRights Delete -Actount "domain \ username" -AccessType Deny -AppliesTo ThisFolderOnly