Files
win_ps_hidden_files/start.ps1
2022-10-27 16:32:28 +02:00

65 lines
2.4 KiB
PowerShell

####Dieses Skript ließt eine csv aus und stelllt alle Verzeichnis in der csv auf hidden
###vars
$ROOTFolder = "C:"
$LogFolder = "$ROOTFolder\hidden_folder.log"
$CSV_Read_Folder = "$PSScriptRoot\folder.csv"
$CSV_Read_User = "$PSScriptRoot\user.csv"
$User_Folder = "$ROOTFolder\Users"
$CSV_File_Folder = Import-Csv -Path "$CSV_Read_Folder"
$CSV_File_User = Import-Csv -Path "$CSV_Read_User"
###
### funktion
function create_hidden_folder($hidden_folder){
if (-not (Test-Path -Path "$hidden_folder" -PathType Container)) {
$output_return_not_exist = "Error: $(Get-Date) - Das Verzeichnis,File $hidden_folder existiert nicht !!!"
return "$output_return_not_exist"
} else {
Get-Item "$hidden_folder" -Force |foreach {
$_.Attributes = "Hidden"
$output_retunr_works = "Info: $(Get-Date) - Das Verzeichnis,File $hidden_folder wurde versteckt. "
Write-Host "$($_.FullName)"
return "$output_retunr_works"
}
}
}
function create_hidden_folder_rec($hidden_folder_rec){
if (-not (Test-Path -Path "$hidden_folder_rec" -PathType Container)) {
$output_return_not_exist = "Error: $(Get-Date) - Das Verzeichnis,File $hidden_folder_rec existiert nicht !!!"
return "$output_return_not_exist"
} else {
Get-ChildItem "$hidden_folder_rec" -Recurse -Force |foreach {
$_.Attributes = "Hidden"
$output_retunr_works = "Info: $(Get-Date) - Das Verzeichnis,File $($_.FullName) wurde versteckt. "
Write-Host "$($_.FullName)"
return "$output_retunr_works"
}
}
}
####Main###
foreach ($csv_out_user in $CSV_File_User) {
$User_Folder_Set = "$($User_Folder)\$($csv_out_user.User)"
if (-not (Test-Path -Path "$User_Folder_Set" -PathType Container)) {
$output_return_not_exist = "Error: $(Get-Date) - Das Userverzeichnis $User_Folder_Set existiert nicht !!!" |Out-File -FilePath $LogFolder -Append
} ELSE {
foreach ($csv_out in $CSV_File_Folder)
{
Get-Item "$User_Folder_Set" |foreach {
$full_path = "$($_.FullName)\$($csv_out.Path)"
create_hidden_folder($full_path)|Out-File -FilePath $LogFolder -Append
create_hidden_folder_rec($full_path)|Out-File -FilePath $LogFolder -Append
}
}
}
}