Я пытаюсь разобрать набор каталогов, чтобы увидеть, какие файлы в них.
Точнее говоря, у меня есть каталог, который содержит каждую букву алфавита, а затем некоторые другие каталоги.В каталогах писем есть еще один каталог писем и некоторые другие.В этом каталоге есть имена пользователей.В каталоге имени пользователя есть каталоги и файлы.
|---------------------------------------------
| root
| \
| S
| \
| S
| \
| Smith, John
| \
| file1, file2, file3, ...
|----------------------------------------------
Это соответствует структуре, о которой я говорил выше.Я пытаюсь получить имена файлов в CSV, чтобы я мог получить следующую информацию: Пользователь, Файл1, Файл2, Файл3, Путь, LastModified, Создан.
Конечная цель для этого - пойтичерез каждый файл и сравните имена файлов с активными пользователями в AD, и посмотрите, какие файлы есть у каждого пользователя для целей аудита.Если есть лучший способ сделать это, я все уши.
Я попытался сделать это с помощью следующего кода, но постоянно зависал.
Также файл M помечен как M1, в то время какдругие - буквы, поэтому у меня есть случайное утверждение IF / THEN там.
1
function Get-AccessManagementUsersDocuments(){
$alph = @("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
$Path = "...LOCATIONPATH...";
$savePath = "...SAVEPATH..."
foreach ($alph in $alph){
if($alph -ne "M"){
$filePath = Get-ChildItem -Path $Path/$alph/$alph | % { $_.FullName}
$fileName = Get-ChildItem -Path $Path/$alph/$alph | % { $_.Name}
} else {
$filePath = Get-ChildItem -Path $Path/M1/M | % { $_.FullName}
$fileName = Get-ChildItem -Path $Path/M1/M | % { $_.Name}
}
foreach ($filePath in $filePath){
Get-ChildItem $filePath | %{$_.Name}
}
}
}