Проблема
Получение PathTooLongException - ... полное имя файла должно быть не более 260 символов, а имя каталога должно быть не более 248 символов.
ОС
- Windows Server 2008 R2 Enterprise
Версия PowerShell
- PSVersion 5.1.14409.1018
- BuildVersion 10.0.14409.1018
- CLRVersion 4.0.30319.36543
- WSManStackVersion 3.0
- PSRemotingProtocolVersion 2.3
- Сериализация 1030 *
. NET Версия FrameWork
Код
Get-ChildItem -Path $path -Directory -Recurse | Get-ACL
ForEach ($item in $pathmany) {
$permissions = $item.access | where {$_.IdentityReference -like "*$target*"}
$permissions.FullPath | where {$_.IdentityReference -like "*$target*"}
if ($permissions.IdentityReference -like "*$target*") {
$path = $item.Path.trim('Microsoft.PowerShell.Core\FileSystem::')
}
}
То, что я пробовал до сих пор
1 - Set-Location "далее в дерево папок" (ошибка)
2 - Subst TEMP " папка далее в дерево папок "(ошибка)
3 - \ имя компьютера \" папка далее в дерево папок "\ (ошибка)
4 - использование сервера 2019, где я могу редактировать реестра "LongPathsEnabled = 1" Я также пытался использовать метод \? \ UNC \, и он возвращал ту же ошибку.
Также пробовал этот код и все еще получаю ошибку
$folder = @{ Name = "\\?\UNC"}
$folder.path = "folder further into folder tree"
$folder | ForEach-Object {
$item = Get-ChildItem -Path $_.Path -Directory -Recurse | Get-ACL
}
Спросите моего руководителя, возможно ли обновление до PowerShell 6.0 или 7.0.
Любая помощь или идеи будут оценены.