ファイルサーバーで最も多くのスペースを消費するファイル/ファイルタイプを特定したいと考えています。多くのユーザーが名前/パスの長さが 260 文字を超えるファイルを作成したため、gci は機能しません。
私の次のステップは、ファイル名とパスのサイズを max_path var 制限なしで表示するものを使用して回避策を作成することでした。(ROBOCOPY)
これが私の機能です:
Function Get-RoboFileSize($source_name){
$filelog=robocopy.exe /e /l /njh /njs /ndl /fp /nc /bytes $source_name $env:Temp
foreach ($item in $filelog){
if ($item -like "*$source_name*"){
$base=$item -Replace "[\s]",""
$Filename=$base -Replace "^[0-9]{1,}",""
$Filesize=$base -Replace "[^\d][a-zA-Z0-9~@#\^\$&\*\(\)-_\+=\[\]\{\}\|\\,\.\?\!\%\§öäüÖÄÜßáàðÞ]{1,}",""
New-Object PSObject -Property @{
Filename=$Filename
FileSize= ("{0:#}" -f($Filesize/1MB))
}
}
}
}
このアプローチは機能しますが、私の問題は、多くのリソースを消費することです。
誰かがこの機能を改善する方法を知っていますか....おそらく別の回避策のアイデアはありますか?