[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/windows/powershell-get-acl-set-acl":3,"mdc-5y8g2c-key":479,"mdc-161uo9-key":499,"mdc--2tt6ft-key":515,"mdc--rlsntn-key":523,"mdc--ag4d2o-key":555,"mdc--17q8oh-key":577,"mdc-6nina1-key":608,"related-/guides/windows/powershell-get-childitem,/guides/windows/powershell-set-executionpolicy,/guides/windows/powershell-export-import":631,"mdc--2ltwif-key":632,"mdc-h9tmj1-key":673,"mdc--96itq0-key":698},{"id":4,"title":5,"appliesTo":6,"author":10,"body":11,"canonical":407,"code":97,"createdAt":408,"description":409,"difficulty":410,"draft":411,"estimatedTime":412,"extension":413,"faq":414,"howToSteps":427,"howToTotalTime":446,"image":407,"keywords":447,"locale":457,"meta":458,"navigation":459,"path":460,"platform":461,"related":462,"section":466,"seo":467,"severity":97,"stem":468,"summary":469,"tags":470,"twitterCreator":407,"twitterSite":407,"type":477,"updatedAt":408,"__hash__":478},"content_ru/guides/windows/powershell-get-acl-set-acl.md","Как получить и установить ACL в PowerShell: пошаговое руководство",[7,8,9],"Windows 10 (x64)","Windows 11 (x64)","PowerShell 5.1+","FixPedia Team",{"type":12,"value":13,"toc":393},"minimark",[14,19,32,36,65,68,72,77,84,88,91,107,125,129,136,182,196,200,203,212,224,228,231,240,252,256,291,300,308,312,315,345,348,352,386,389],[15,16,18],"h2",{"id":17},"введение","Введение",[20,21,22,23,27,28,31],"p",{},"Управление разрешениями файлов и папок через графический интерфейс удобно, но для автоматизации или выполнения множества задач быстрее использовать PowerShell. В этой статье вы узнаете, как извлечь текущий ACL объекта с помощью ",[24,25,26],"code",{},"Get-Acl"," и изменить или заменить его с помощью ",[24,29,30],{},"Set-Acl",". После выполнения всех шагов вы сможете программно задавать права доступа, что особенно полезно для администрирования серверов или создания скриптов по защите данных.",[15,33,35],{"id":34},"требования","Требования",[37,38,39,52,59,62],"ul",{},[40,41,42,43,47,48,51],"li",{},"Операционная система: ",[44,45,46],"strong",{},"Windows 10"," или ",[44,49,50],{},"Windows 11"," (x64).",[40,53,54,55,58],{},"PowerShell версии ",[44,56,57],{},"5.1"," или выше (встроен в Windows).",[40,60,61],{},"Права администратора на целевом компьютере и доступ к папкам, разрешения которых вы изменяете.",[40,63,64],{},"Базовое знакомство с PowerShell и понятием ACL (списка контроля доступа).",[66,67],"in-article-ad",{},[15,69,71],{"id":70},"пошаговая-инструкция","Пошаговая инструкция",[73,74,76],"h3",{"id":75},"шаг-1-запустить-powershell-от-имени-администратора","Шаг 1: Запустить PowerShell от имени администратора",[20,78,79,80,83],{},"Откройте меню быстрого доступа (Win + X) и выберите ",[44,81,82],{},"Windows PowerShell (Администратор)",". Это предотвратит ошибки «Доступ запрещен» при чтении или записи ACL.",[73,85,87],{"id":86},"шаг-2-получить-текущий-acl-с-помощью-get-acl","Шаг 2: Получить текущий ACL с помощью Get-Acl",[20,89,90],{},"Введите команду, которая извлечет ACL для нужного объекта и сохранит его в PowerShell-переменной:",[92,93,98],"pre",{"className":94,"code":95,"language":96,"meta":97,"style":97},"language-powershell shiki shiki-themes github-light github-dark","$acl = Get-Acl -Path \"C:\\ExampleFolder\"\n","powershell","",[24,99,100],{"__ignoreMap":97},[101,102,105],"span",{"class":103,"line":104},"line",1,[101,106,95],{},[37,108,109,118],{},[40,110,111,113,114,117],{},[24,112,26],{}," возвращает объект типа ",[24,115,116],{},"FileSecurity",".",[40,119,120,121,124],{},"Переменная ",[24,122,123],{},"$acl"," позволяет редактировать разрешения перед сохранением.",[73,126,128],{"id":127},"шаг-3-изменить-разрешения-в-acl","Шаг 3: Изменить разрешения в ACL",[20,130,131,132,135],{},"Например, вы хотите предоставить группе ",[44,133,134],{},"Users"," право на чтение содержимого папки. Добавьте правило доступа следующим образом:",[92,137,139],{"className":94,"code":138,"language":96,"meta":97,"style":97},"$rule = New-Object System.Security.AccessControl.FileSystemAccessRule(\n    \"Users\",\n    \"Read\",\n    \"ContainerInherit,ObjectInherit\",\n    \"None\",\n    \"Allow\")\n$acl.SetAccessRule($rule)\n",[24,140,141,146,152,158,164,170,176],{"__ignoreMap":97},[101,142,143],{"class":103,"line":104},[101,144,145],{},"$rule = New-Object System.Security.AccessControl.FileSystemAccessRule(\n",[101,147,149],{"class":103,"line":148},2,[101,150,151],{},"    \"Users\",\n",[101,153,155],{"class":103,"line":154},3,[101,156,157],{},"    \"Read\",\n",[101,159,161],{"class":103,"line":160},4,[101,162,163],{},"    \"ContainerInherit,ObjectInherit\",\n",[101,165,167],{"class":103,"line":166},5,[101,168,169],{},"    \"None\",\n",[101,171,173],{"class":103,"line":172},6,[101,174,175],{},"    \"Allow\")\n",[101,177,179],{"class":103,"line":178},7,[101,180,181],{},"$acl.SetAccessRule($rule)\n",[37,183,184,190],{},[40,185,186,189],{},[24,187,188],{},"FileSystemAccessRule"," описывает одно правило.",[40,191,192,195],{},[24,193,194],{},"SetAccessRule"," добавляет его в текущий ACL.",[73,197,199],{"id":198},"шаг-4-сохранить-обновленный-acl-с-помощью-set-acl","Шаг 4: Сохранить обновленный ACL с помощью Set-Acl",[20,201,202],{},"После редактирования примените изменения к исходному объекту на диске:",[92,204,206],{"className":94,"code":205,"language":96,"meta":97,"style":97},"Set-Acl -Path \"C:\\ExampleFolder\" -AclObject $acl\n",[24,207,208],{"__ignoreMap":97},[101,209,210],{"class":103,"line":104},[101,211,205],{},[37,213,214,221],{},[40,215,216,218,219,117],{},[24,217,30],{}," перезаписывает существующий ACL новым объектом ",[24,220,123],{},[40,222,223],{},"Если исходный ACL был изменен несколькими процессами, команда перезапишет все несохраненные изменения.",[73,225,227],{"id":226},"шаг-5-проверить-результат","Шаг 5: Проверить результат",[20,229,230],{},"Повторно извлеките ACL, чтобы убедиться, что правило появилось:",[92,232,234],{"className":94,"code":233,"language":96,"meta":97,"style":97},"Get-Acl -Path \"C:\\ExampleFolder\" | Format-List *\n",[24,235,236],{"__ignoreMap":97},[101,237,238],{"class":103,"line":104},[101,239,233],{},[37,241,242,245],{},[40,243,244],{},"В консоли отобразится полный список разрешений.",[40,246,247,248,251],{},"Также можно открыть ",[44,249,250],{},"Свойства папки → Безопасность",", чтобы визуально подтвердить новое разрешение.",[73,253,255],{"id":254},"шаг-6-дополнительные-советы-и-распространенные-ошибки","Шаг 6: Дополнительные советы и распространенные ошибки",[37,257,258,275,285],{},[40,259,260,263,264,267,268,271,272,117],{},[44,261,262],{},"Спецсимволы",": если путь содержит пробелы или символы ",[24,265,266],{},"*",", используйте ",[24,269,270],{},"-LiteralPath"," вместо ",[24,273,274],{},"-Path",[40,276,277,280,281,284],{},[44,278,279],{},"Массовая обработка",": создайте цикл ",[24,282,283],{},"foreach",", чтобы обрабатывать несколько папок за один скрипт.",[40,286,287,290],{},[44,288,289],{},"Резервное копирование",": перед изменением ACL экспортируйте его для восстановления:",[92,292,294],{"className":94,"code":293,"language":96,"meta":97,"style":97},"$acl | Export-Csv -Path \"acl_backup.csv\" -NoTypeInformation\n",[24,295,296],{"__ignoreMap":97},[101,297,298],{"class":103,"line":104},[101,299,293],{},[37,301,302],{},[40,303,304,307],{},[44,305,306],{},"Права администратора",": если команда завершается с ошибкой «Доступ запрещен», убедитесь, что PowerShell действительно запущен с правами администратора.",[15,309,311],{"id":310},"проверка-результата","Проверка результата",[20,313,314],{},"Если вы видите новое разрешение в списке или графическом интерфейсе, ACL успешно обновлен. Также можно запустить скрипт проверки, который сравнивает исходный и новый ACL:",[92,316,318],{"className":94,"code":317,"language":96,"meta":97,"style":97},"$original = Get-Acl -Path \"C:\\ExampleFolder\"\n$original | Export-Csv -Path \"before_check.csv\" -NoTypeInformation\n# ... выполните изменения ...\n$updated = Get-Acl -Path \"C:\\ExampleFolder\"\nCompare-Object $original.Access $updated.Access\n",[24,319,320,325,330,335,340],{"__ignoreMap":97},[101,321,322],{"class":103,"line":104},[101,323,324],{},"$original = Get-Acl -Path \"C:\\ExampleFolder\"\n",[101,326,327],{"class":103,"line":148},[101,328,329],{},"$original | Export-Csv -Path \"before_check.csv\" -NoTypeInformation\n",[101,331,332],{"class":103,"line":154},[101,333,334],{},"# ... выполните изменения ...\n",[101,336,337],{"class":103,"line":160},[101,338,339],{},"$updated = Get-Acl -Path \"C:\\ExampleFolder\"\n",[101,341,342],{"class":103,"line":166},[101,343,344],{},"Compare-Object $original.Access $updated.Access\n",[20,346,347],{},"Если различий нет, изменения не были применены; повторите шаги.",[15,349,351],{"id":350},"возможные-проблемы","Возможные проблемы",[37,353,354,360,370,376],{},[40,355,356,359],{},[44,357,358],{},"«Путь не найден»"," – убедитесь, что путь корректен и папка существует.",[40,361,362,365,366,369],{},[44,363,364],{},"«Имя пользователя не найдено»"," – используйте полное доменное имя (например, ",[24,367,368],{},"DOMAIN\\Users",") или SID.",[40,371,372,375],{},[44,373,374],{},"«Доступ запрещен»"," – проверьте, что PowerShell запущен от имени администратора.",[40,377,378,381,382,385],{},[44,379,380],{},"«Невозможно заменить ACL»"," – убедитесь, что целевой объект не является системным или защитным (например, ",[24,383,384],{},"C:\\Windows",").",[20,387,388],{},"Если после выполнения этих действий проблема сохраняется, создайте новый запрос в службу поддержки, указав полное описание шага и получаемую ошибку.",[390,391,392],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":97,"searchDepth":148,"depth":148,"links":394},[395,396,397,405,406],{"id":17,"depth":148,"text":18},{"id":34,"depth":148,"text":35},{"id":70,"depth":148,"text":71,"children":398},[399,400,401,402,403,404],{"id":75,"depth":154,"text":76},{"id":86,"depth":154,"text":87},{"id":127,"depth":154,"text":128},{"id":198,"depth":154,"text":199},{"id":226,"depth":154,"text":227},{"id":254,"depth":154,"text":255},{"id":310,"depth":148,"text":311},{"id":350,"depth":148,"text":351},null,"2026-07-31 13:01:53","Узнайте, как быстро получить права доступа (ACL) с помощью Get-Acl и изменить их с помощью Set-Acl в PowerShell. Пошаговая инструкция для Windows 10/11, шаг за шагом.","medium",false,"10-15 мин","md",[415,418,421,424],{"answer":416,"question":417},"Запустите `Get-Acl -Path \"C:\\ExampleFolder\"`. Команда вернет объект SecurityDescriptor со всеми разрешениями.","Как получить ACL папки с помощью PowerShell?",{"answer":419,"question":420},"Сначала создайте новый ACL или измените существующий, затем выполните `Set-Acl -Path \"C:\\ExampleFolder\" -AclObject $acl`.","Как изменить разрешения с помощью Set-Acl?",{"answer":422,"question":423},"Убедитесь, что PowerShell запущен от имени администратора, и проверьте, что путь существует и доступен для чтения.","Что делать, если команда выдает ошибку 'Access Denied'?",{"answer":425,"question":426},"Да. Используйте `Export-Csv` для сохранения ACL, а затем `Import-Csv` вместе с `Set-Acl` для восстановления на целевом компьютере.","Можно ли импортировать ACL из другого компьютера?",[428,431,434,437,440,443],{"name":429,"text":430},"Запустить PowerShell от имени администратора","Нажмите **Win + X** и выберите **Windows PowerShell (Администратор)**. Это обеспечит необходимые права для чтения и изменения ACL.",{"name":432,"text":433},"Получить текущий ACL с помощью Get-Acl","Выполните команду:\n\n```powershell\n$acl = Get-Acl -Path \"C:\\ExampleFolder\"\n```\n\nКоманда сохраняет объект ACL в переменной `$acl`. Вы можете вывести содержимое через `Get-Content $acl` или отредактировать напрямую.",{"name":435,"text":436},"Изменить разрешения в ACL","Например, добавьте разрешение «Чтение» для пользователя «Users»:\n\n```powershell\n$rule = New-Object System.Security.AccessControl.FileSystemAccessRule(\n    \"Users\",\n    \"Read\",\n    \"ContainerInherit,ObjectInherit\",\n    \"None\",\n    \"Allow\")\n$acl.SetAccessRule($rule)\n```\n\nТеперь ACL содержит новое правило.",{"name":438,"text":439},"Сохранить обновленный ACL с помощью Set-Acl","Примените изменения к исходному объекту:\n\n```powershell\nSet-Acl -Path \"C:\\ExampleFolder\" -AclObject $acl\n```\n\nКоманда перезапишет существующий ACL на диске новым объектом.",{"name":441,"text":442},"Проверить результат","Повторно вызовите `Get-Acl` и проверьте содержимое переменной `$acl` через `Get-Content $acl` или графический диспетчер безопасности Windows. Убедитесь, что новое разрешение отображается.",{"name":444,"text":445},"Дополнительные советы и распространенные ошибки","• Используйте `-LiteralPath`, если путь содержит спецсимволы.\n• Для массовой обработки объектов создайте скрипт, обрабатывающий несколько путей.\n• Сохраняйте резервную копию исходного ACL перед изменением (`$acl | Export-Csv acl_backup.csv`).","PT15M",[448,449,450,451,452,453,454,455,456],"PowerShell Get-Acl","PowerShell Set-Acl","ACL Windows","разрешения файлов PowerShell","командная строка Windows","получить ACL папки","изменить разрешения PowerShell","Get-ACL команда","Set-ACL команда","ru_RU",{},true,"/guides/windows/powershell-get-acl-set-acl","windows",[463,464,465],"/guides/windows/powershell-get-childitem","/guides/windows/powershell-set-executionpolicy","/guides/windows/powershell-export-import","Гайды Windows",{"title":5,"description":409},"guides/windows/powershell-get-acl-set-acl","В этом руководстве вы научитесь извлекать ACL объектов с помощью Get-Acl и изменять их с помощью Set-Acl в PowerShell. После выполнения всех шагов вы сможете управлять разрешениями файлов и папок через командную строку.",[471,472,473,474,475,476],"PowerShell","Windows","ACL","Permissions","Windows 10","Windows 11","guide","awGAR4cvOrCJsUV8k84F3i0mlfKH4avIMY3JeqCtGZ0",{"data":480,"body":481},{},{"type":482,"children":483},"root",[484],{"type":485,"tag":20,"props":486,"children":487},"element",{},[488,491,497],{"type":489,"value":490},"text","Запустите ",{"type":485,"tag":24,"props":492,"children":494},{"className":493},[],[495],{"type":489,"value":496},"Get-Acl -Path \"C:\\ExampleFolder\"",{"type":489,"value":498},". Команда вернет объект SecurityDescriptor со всеми разрешениями.",{"data":500,"body":501},{},{"type":482,"children":502},[503],{"type":485,"tag":20,"props":504,"children":505},{},[506,508,514],{"type":489,"value":507},"Сначала создайте новый ACL или измените существующий, затем выполните ",{"type":485,"tag":24,"props":509,"children":511},{"className":510},[],[512],{"type":489,"value":513},"Set-Acl -Path \"C:\\ExampleFolder\" -AclObject $acl",{"type":489,"value":117},{"data":516,"body":517},{},{"type":482,"children":518},[519],{"type":485,"tag":20,"props":520,"children":521},{},[522],{"type":489,"value":422},{"data":524,"body":525},{},{"type":482,"children":526},[527],{"type":485,"tag":20,"props":528,"children":529},{},[530,532,538,540,546,548,553],{"type":489,"value":531},"Да. Используйте ",{"type":485,"tag":24,"props":533,"children":535},{"className":534},[],[536],{"type":489,"value":537},"Export-Csv",{"type":489,"value":539}," для сохранения ACL, а затем ",{"type":485,"tag":24,"props":541,"children":543},{"className":542},[],[544],{"type":489,"value":545},"Import-Csv",{"type":489,"value":547}," вместе с ",{"type":485,"tag":24,"props":549,"children":551},{"className":550},[],[552],{"type":489,"value":30},{"type":489,"value":554}," для восстановления на целевом компьютере.",{"data":556,"body":557},{},{"type":482,"children":558},[559],{"type":485,"tag":20,"props":560,"children":561},{},[562,564,569,571,575],{"type":489,"value":563},"Нажмите ",{"type":485,"tag":44,"props":565,"children":566},{},[567],{"type":489,"value":568},"Win + X",{"type":489,"value":570}," и выберите ",{"type":485,"tag":44,"props":572,"children":573},{},[574],{"type":489,"value":82},{"type":489,"value":576},". Это обеспечит необходимые права для чтения и изменения ACL.",{"data":578,"body":579},{},{"type":482,"children":580},[581],{"type":485,"tag":20,"props":582,"children":583},{},[584,586,591,593,598,600,606],{"type":489,"value":585},"Повторно вызовите ",{"type":485,"tag":24,"props":587,"children":589},{"className":588},[],[590],{"type":489,"value":26},{"type":489,"value":592}," и проверьте содержимое переменной ",{"type":485,"tag":24,"props":594,"children":596},{"className":595},[],[597],{"type":489,"value":123},{"type":489,"value":599}," через ",{"type":485,"tag":24,"props":601,"children":603},{"className":602},[],[604],{"type":489,"value":605},"Get-Content $acl",{"type":489,"value":607}," или графический диспетчер безопасности Windows. Убедитесь, что новое разрешение отображается.",{"data":609,"body":610},{},{"type":482,"children":611},[612],{"type":485,"tag":20,"props":613,"children":614},{},[615,617,622,624,630],{"type":489,"value":616},"• Используйте ",{"type":485,"tag":24,"props":618,"children":620},{"className":619},[],[621],{"type":489,"value":270},{"type":489,"value":623},", если путь содержит спецсимволы.\n• Для массовой обработки объектов создайте скрипт, обрабатывающий несколько путей.\n• Сохраняйте резервную копию исходного ACL перед изменением (",{"type":485,"tag":24,"props":625,"children":627},{"className":626},[],[628],{"type":489,"value":629},"$acl | Export-Csv acl_backup.csv",{"type":489,"value":385},[],{"data":633,"body":634},{},{"type":482,"children":635},[636,641,650,669],{"type":485,"tag":20,"props":637,"children":638},{},[639],{"type":489,"value":640},"Выполните команду:",{"type":485,"tag":92,"props":642,"children":645},{"className":643,"code":95,"language":96,"meta":97,"style":644},"language-powershell","undefined",[646],{"type":485,"tag":24,"props":647,"children":648},{"__ignoreMap":97},[649],{"type":489,"value":95},{"type":485,"tag":20,"props":651,"children":652},{},[653,655,660,662,667],{"type":489,"value":654},"Команда сохраняет объект ACL в переменной ",{"type":485,"tag":24,"props":656,"children":658},{"className":657},[],[659],{"type":489,"value":123},{"type":489,"value":661},". Вы можете вывести содержимое через ",{"type":485,"tag":24,"props":663,"children":665},{"className":664},[],[666],{"type":489,"value":605},{"type":489,"value":668}," или отредактировать напрямую.",{"type":485,"tag":390,"props":670,"children":671},{},[672],{"type":489,"value":97},{"data":674,"body":675},{},{"type":482,"children":676},[677,682,689,694],{"type":485,"tag":20,"props":678,"children":679},{},[680],{"type":489,"value":681},"Например, добавьте разрешение «Чтение» для пользователя «Users»:",{"type":485,"tag":92,"props":683,"children":684},{"className":643,"code":138,"language":96,"meta":97,"style":644},[685],{"type":485,"tag":24,"props":686,"children":687},{"__ignoreMap":97},[688],{"type":489,"value":138},{"type":485,"tag":20,"props":690,"children":691},{},[692],{"type":489,"value":693},"Теперь ACL содержит новое правило.",{"type":485,"tag":390,"props":695,"children":696},{},[697],{"type":489,"value":97},{"data":699,"body":700},{},{"type":482,"children":701},[702,707,714,719],{"type":485,"tag":20,"props":703,"children":704},{},[705],{"type":489,"value":706},"Примените изменения к исходному объекту:",{"type":485,"tag":92,"props":708,"children":709},{"className":643,"code":205,"language":96,"meta":97,"style":644},[710],{"type":485,"tag":24,"props":711,"children":712},{"__ignoreMap":97},[713],{"type":489,"value":205},{"type":485,"tag":20,"props":715,"children":716},{},[717],{"type":489,"value":718},"Команда перезапишет существующий ACL на диске новым объектом.",{"type":485,"tag":390,"props":720,"children":721},{},[722],{"type":489,"value":97}]