PowerShell에서 “복사 항목 액세스 거부” 오류에 대한 8가지 효과적인 솔루션
주요 내용
- 올바른 NTFS 및 공유 권한이 설정되어 있는지 확인하세요.
- 전체 액세스 권한을 얻으려면 관리자 권한으로 PowerShell을 실행하세요.
- UAC 및 원격 액세스 문제를 효과적으로 해결합니다.
PowerShell에서 Copy-Item Access Denied 오류 해결
PowerShell에서 “항목 복사” 오류(액세스가 거부되었습니다)가 발생하면, 특히 파일 탐색기를 통해 액세스할 수 있는 경우 매우 불편할 수 있습니다.이 문제는 잘못된 NTFS 또는 공유 권한이나 관리자 권한 요구 사항으로 인해 자주 발생합니다.이 가이드에서는 이러한 오류를 효율적으로 해결하고 해결하는 데 도움이 되는 포괄적인 솔루션을 제공합니다.
복사 항목 액세스 거부 오류를 수정하는 방법
1단계: 올바른 NTFS 권한 확인
NTFS 권한을 확인하려면:
- Win +를 눌러 파일 탐색기를 E 시작하세요.
- 권한을 설정하려는 대상 폴더로 이동합니다.
- 폴더를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.
- 보안 탭 에 액세스합니다.
- 편집 버튼을 클릭하여 권한을 수정하세요.
- 사용자 계정이나 스크립트를 실행하는 계정에 모든 권한이 있는지 확인하세요.
- 적용을 클릭한 다음 확인을 클릭하여 변경 사항을 저장합니다.
적절한 NTFS 권한을 보장하면 스크립트가 지정된 폴더에 쓸 수 있어 액세스 충돌이 해결됩니다.
2단계: 공유 권한 확인
공유 권한을 확인하려면 다음 단계를 따르세요.
- Win +를 눌러 실행 대화 상자를 열고 R, 를 입력
fsmgmt.msc하고, 를 누릅니다 Enter. - 조정하려는 공유 폴더를 찾으세요.
- 폴더를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.
- 공유 권한 탭을 선택하세요.
- PowerShell 스크립트를 실행하는 사용자 또는 그룹에 전체 제어 권한이 있는지 확인하세요.
- 적용을 클릭한 다음 확인을 클릭하여 변경 사항을 확인합니다.
성공적인 파일 복사 작업을 보장하려면 NTFS와 공유 권한 모두 쓰기 액세스를 제공해야 합니다.
3단계: PowerShell을 관리자 권한으로 실행
상승된 권한으로 PowerShell을 실행하려면:
- 시작 버튼을 클릭하세요.
- 검색창에 PowerShell을 입력합니다.
- Windows PowerShell을 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행을 선택합니다.
- 관리자 권한 창에서 Copy-Item 명령을 다시 실행해 보세요.
관리자 권한으로 PowerShell을 실행하면 보호된 시스템 폴더와 공유 네트워크 위치에 액세스할 수 있습니다.
4단계: 자격 증명 없이 UNC 경로 사용
스크립트에서 UNC 경로를 활용하려면 다음 지침을 따르세요.
- 다음을 사용하여 네트워크 위치에 대한 새 PowerShell 드라이브를 만듭니다.
New-PSDrive -Name "P" -PSProvider FileSystem -Root "\\network\path" -Persist - 새 드라이브 문자를 사용하여 Copy-Item 명령을 실행합니다 (필요에 따라 원본 및 대상 경로를 조정합니다).
Copy-Item "P:\source\file" -Destination "P:\destination\path"
UNC 경로를 직접 사용하고 네트워크 드라이브를 매핑하면 자격 증명 관련 액세스 문제를 방지할 수 있습니다.
5단계: PowerShell에서 환경 변수 수정
환경 변수를 활용할 때는 다음과 같이 올바르게 바꿔주세요.
- PowerShell 구문을 다음과 같이 활용하세요.
Copy-Item -Path "E:\FolderA" -Destination "C:\Users\$($env:USERNAME)\AppData\Roaming\FolderB" -Recurse -Force - 다음과 같이 APPDATA 변수를 직접 참조할 수도 있습니다.
Copy-Item -Path "E:\FolderA" -Destination "$($env:APPDATA)\FolderB" -Recurse -Force
PowerShell 내에서 환경 변수를 올바르게 구현하면 모든 경로가 정확하게 확인됩니다.
6단계: PowerShell 원격 활성화
원격 기능을 활성화하려면:
- 원격 컴퓨터에서 다음을 실행합니다.
Enable-PSRemoting -Force - 할당된 사용자에게 스크립트를 실행하는 데 필요한 권한이 있는지 확인하세요.
Set-PSSessionConfiguration -ShowSecurityDescriptorUI -Name Microsoft. PowerShell - 파일 복사에는 ToSession 매개변수를 사용하세요.
$session = New-PSSession -ComputerName "remote_machine" -Credential "username"; $source = "C:\path\to\source"; $dest = "C:\path\to\destination"; Copy-Item -Path $source -Destination $dest -ToSession $session -Recurse -Force
PowerShell 원격 기능을 활성화하고 올바른 세션 명령을 활용하면 여러 컴퓨터 간의 작업이 간소화됩니다.
7단계: 사용자 계정 컨트롤(UAC) 문제 해결
UAC 제한을 우회하려면 권한 상승을 위한 PowerShell 스크립트를 만듭니다.
- 다음 스크립트를 사용하여 권한을 높이세요.
If (-NOT ([Security. Principal. WindowsPrincipal][Security. Principal. WindowsIdentity]::GetCurrent()).IsInRole([Security. Principal. WindowsBuiltInRole] "Administrator")) { Start-Process powershell -Verb runAs -ArgumentList $MyInvocation. MyCommand. Definition; Break } - 상승된 스크립트 컨텍스트 내에서 Copy-Item 명령을 실행합니다.
Copy-Item "C:\source\file" -Destination "C:\Program Files (x86)\target\folder" -Force
이 스크립트는 UAC 제한을 우회하기 위해 명령 자체 내에서 권한 상승을 트리거합니다.
8단계: 더블홉 문제 처리
다음 조치에 따라 이중 홉 문제를 해결하세요.
- 다음을 사용하여 필요한 모든 파일을 원격 컴퓨터에 미리 복사합니다.
Copy-Item -Path "C:\local\path\file" -Destination "\\remote_machine\path" -Force - 원격 컴퓨터에서 직접 설치를 실행하려면 명령을 호출하세요.
Invoke-Command -ComputerName "remote_machine" -ScriptBlock { Copy-Item -Path "\\remote_machine\path\file" -Destination "C:\Windows\Temp" -Force; Start-Process msiexec -ArgumentList "/i C:\Windows\Temp\installer.msi /quiet" -Wait }
이 방법은 여러 원격 연결에 관련된 문제를 사전에 해결합니다.
이러한 전략을 구현하면 PowerShell에서 Copy-Item: Access is Denied 오류를 성공적으로 해결할 수 있습니다.
추가적인 질문이나 통찰력이 있으시면 아래에 댓글로 생각을 공유해 주시기 바랍니다.
추가 팁
- 파일 작업을 수행하기 전에 항상 NTFS 권한을 확인하세요.
- 더 나은 디버깅을 위해 스크립트에서 오류 처리를 사용하는 것을 고려하세요.
- PowerShell 스크립트를 체계적으로 정리하여 쉽게 액세스하고 유지 관리할 수 있도록 하세요.
요약
이 가이드에서는 PowerShell에서 Copy-Item cmdlet을 사용할 때 “액세스 거부” 오류가 발생하는 일반적인 원인을 살펴보았습니다. NTFS 및 공유 권한 확인부터 PowerShell을 관리자 권한으로 실행하고 UNC 경로를 활용하는 방법까지 자세한 단계를 제공했습니다.이러한 해결 방법을 따르면 파일 작업을 간소화하고 액세스 문제를 최소화할 수 있습니다.
결론
“복사 항목 액세스 거부” 오류를 해결하면 PowerShell 워크플로가 크게 향상될 수 있습니다.사용자 권한을 필요에 따라 조정하고 적절한 명령 실행 컨텍스트를 확인하면 대부분의 액세스 관련 문제를 효과적으로 해결할 수 있습니다.원활한 운영을 위해 이러한 모범 사례를 지속적으로 적용하는 것을 잊지 마세요.
FAQ(자주 묻는 질문)
Copy-Item Access Denied 오류의 원인은 무엇입니까?
이 오류는 일반적으로 NTFS 권한이 부족하거나, 공유 권한이 잘못 구성되었거나, 관리자 권한 없이 PowerShell을 실행하는 경우 발생합니다.
UNC 경로를 사용하면 액세스 문제를 해결할 수 있나요?
네, UNC 경로를 활용하면 특정 위임된 자격 증명 문제를 우회하고 네트워크 공유에 대한 액세스를 개선하는 데 도움이 될 수 있습니다.