CACLSコマンドでちまちまと設定していってもいいのですが、PowerShellを使うとアクセス権をコピーすることができます。
まず1つのフォルダにアクセス権を設定しておて Get-Aclでアクセス権を取得 Set-Aclで設定という流れになります。
$acl = Get-Acl -Path "アクセス権の設定元パス" Set-Acl -AclObject $acl -Path "アクセス権の設定先パス"
本来はこんなことをしなくて済むフォルダ構成にすべきなのですが...。
$acl = Get-Acl -Path "アクセス権の設定元パス" Set-Acl -AclObject $acl -Path "アクセス権の設定先パス"
スクリプトの実行がシステムで無効になっているため、ファイル D:\test.ps1 を読み込めません。詳細については、「get-help abut_signing」と入力してヘルプを参照してください。
発生場所 行:1 文字:10
+ ./test.ps1 <<<<
> help about_signing : Restricted - 既定の実行ポリシーです。 - 個々のコマンドは許可されますが、スクリプトは実行できません。 AllSigned - スクリプトを実行できます。 - ローカル コンピュータ上で作成されたスクリプトも含めて、すべての スクリプトと構成ファイルに対して、信頼された発行元によるデジタル 署名が必要です。 - 信頼された発行元からのスクリプトを実行する前に、プロンプトが表示 されます。 - 署名されてはいても、悪意のあるスクリプトを実行するおそれがあります。 RemoteSigned - スクリプトを実行できます。 - インターネットからダウンロードされたスクリプトおよび構成ファイル (電子メール プログラムとインスタント メッセージング プログラムを 含みます) に対して、信頼された発行元によるデジタル署名が必要です。 - ローカル コンピュータから実行されるスクリプトに対してデジタル署名 を要求しません。 - 信頼された発行元からのスクリプトを実行する前に、プロンプトは表示 されません。 - 署名されてはいても、悪意のあるスクリプトを実行するおそれ があります。 Unrestricted - 署名なしスクリプトを実行できます。 - インターネットからダウンロードされたスクリプトおよび構成 ファイル (Microsoft Outlook、Outlook Express、および Windows Messenger を含みます) を、インターネットから入手されたファイル であることを警告してから実行します。 - 悪意のあるスクリプトを実行するおそれがあります。 :
> Set-ExecutionPolicy Unrestricted > ./test.ps1
// 100MB以上のファイルを表示してみる
$path = "<フォルダ名>"
$fileCount = (Get-ChildItem -recurse $path).Length
$counter = 0
foreach ($file in Get-ChildItem -recurse $path) {
$counter ++;
Write-Progress -activity "FileSerch" -status "Now Serching ..." -percentComplete ($counter / $fileCount * 100)
if ($file -is [IO.FileInfo]) {
if ($file.Length -gt 100000000) {
Write-Output ([String]::Format("{0}({1})", $file.FullName, $file.Length))
}
}
}