PowerShell에서 “복사 항목 액세스 거부” 오류에 대한 8가지 효과적인 솔루션

주요 내용

  • 올바른 NTFS 및 공유 권한이 설정되어 있는지 확인하세요.
  • 전체 액세스 권한을 얻으려면 관리자 권한으로 PowerShell을 실행하세요.
  • UAC 및 원격 액세스 문제를 효과적으로 해결합니다.

PowerShell에서 Copy-Item Access Denied 오류 해결

PowerShell에서 “항목 복사” 오류(액세스가 거부되었습니다)가 발생하면, 특히 파일 탐색기를 통해 액세스할 수 있는 경우 매우 불편할 수 있습니다.이 문제는 잘못된 NTFS 또는 공유 권한이나 관리자 권한 요구 사항으로 인해 자주 발생합니다.이 가이드에서는 이러한 오류를 효율적으로 해결하고 해결하는 데 도움이 되는 포괄적인 솔루션을 제공합니다.

복사 항목 액세스 거부 오류를 수정하는 방법

1단계: 올바른 NTFS 권한 확인

NTFS 권한을 확인하려면:

  1. Win +를 눌러 파일 탐색기를 E 시작하세요.
  2. 권한을 설정하려는 대상 폴더로 이동합니다.
  3. 폴더를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.
  4. 보안 탭 에 액세스합니다.
  5. 편집 버튼을 클릭하여 권한을 수정하세요.
  6. 사용자 계정이나 스크립트를 실행하는 계정에 모든 권한이 있는지 확인하세요.
  7. 적용을 클릭한 다음 확인을 클릭하여 변경 사항을 저장합니다.

적절한 NTFS 권한을 보장하면 스크립트가 지정된 폴더에 쓸 수 있어 액세스 충돌이 해결됩니다.

2단계: 공유 권한 확인

공유 권한을 확인하려면 다음 단계를 따르세요.

  1. Win +를 눌러 실행 대화 상자를 열고 R, 를 입력 fsmgmt.msc하고, 를 누릅니다 Enter.
  2. 조정하려는 공유 폴더를 찾으세요.
  3. 폴더를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.
  4. 공유 권한 탭을 선택하세요.
  5. PowerShell 스크립트를 실행하는 사용자 또는 그룹에 전체 제어 권한이 있는지 확인하세요.
  6. 적용을 클릭한 다음 확인을 클릭하여 변경 사항을 확인합니다.

성공적인 파일 복사 작업을 보장하려면 NTFS와 공유 권한 모두 쓰기 액세스를 제공해야 합니다.

3단계: PowerShell을 관리자 권한으로 실행

상승된 권한으로 PowerShell을 실행하려면:

  1. 시작 버튼을 클릭하세요.
  2. 검색창에 PowerShell을 입력합니다.
  3. Windows PowerShell을 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행을 선택합니다.
  4. 관리자 권한 창에서 Copy-Item 명령을 다시 실행해 보세요.

관리자 권한으로 PowerShell을 실행하면 보호된 시스템 폴더와 공유 네트워크 위치에 액세스할 수 있습니다.

4단계: 자격 증명 없이 UNC 경로 사용

스크립트에서 UNC 경로를 활용하려면 다음 지침을 따르세요.

  1. 다음을 사용하여 네트워크 위치에 대한 새 PowerShell 드라이브를 만듭니다. New-PSDrive -Name "P" -PSProvider FileSystem -Root "\\network\path" -Persist
  2. 새 드라이브 문자를 사용하여 Copy-Item 명령을 실행합니다 (필요에 따라 원본 및 대상 경로를 조정합니다). Copy-Item "P:\source\file" -Destination "P:\destination\path"

UNC 경로를 직접 사용하고 네트워크 드라이브를 매핑하면 자격 증명 관련 액세스 문제를 방지할 수 있습니다.

5단계: PowerShell에서 환경 변수 수정

환경 변수를 활용할 때는 다음과 같이 올바르게 바꿔주세요.

  1. PowerShell 구문을 다음과 같이 활용하세요. Copy-Item -Path "E:\FolderA" -Destination "C:\Users\$($env:USERNAME)\AppData\Roaming\FolderB" -Recurse -Force
  2. 다음과 같이 APPDATA 변수를 직접 참조할 수도 있습니다. Copy-Item -Path "E:\FolderA" -Destination "$($env:APPDATA)\FolderB" -Recurse -Force

PowerShell 내에서 환경 변수를 올바르게 구현하면 모든 경로가 정확하게 확인됩니다.

6단계: PowerShell 원격 활성화

원격 기능을 활성화하려면:

  1. 원격 컴퓨터에서 다음을 실행합니다. Enable-PSRemoting -Force
  2. 할당된 사용자에게 스크립트를 실행하는 데 필요한 권한이 있는지 확인하세요. Set-PSSessionConfiguration -ShowSecurityDescriptorUI -Name Microsoft. PowerShell
  3. 파일 복사에는 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 스크립트를 만듭니다.

  1. 다음 스크립트를 사용하여 권한을 높이세요. If (-NOT ([Security. Principal. WindowsPrincipal][Security. Principal. WindowsIdentity]::GetCurrent()).IsInRole([Security. Principal. WindowsBuiltInRole] "Administrator")) { Start-Process powershell -Verb runAs -ArgumentList $MyInvocation. MyCommand. Definition; Break }
  2. 상승된 스크립트 컨텍스트 내에서 Copy-Item 명령을 실행합니다. Copy-Item "C:\source\file" -Destination "C:\Program Files (x86)\target\folder" -Force

이 스크립트는 UAC 제한을 우회하기 위해 명령 자체 내에서 권한 상승을 트리거합니다.

8단계: 더블홉 문제 처리

다음 조치에 따라 이중 홉 문제를 해결하세요.

  1. 다음을 사용하여 필요한 모든 파일을 원격 컴퓨터에 미리 복사합니다. Copy-Item -Path "C:\local\path\file" -Destination "\\remote_machine\path" -Force
  2. 원격 컴퓨터에서 직접 설치를 실행하려면 명령을 호출하세요. 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 경로를 활용하면 특정 위임된 자격 증명 문제를 우회하고 네트워크 공유에 대한 액세스를 개선하는 데 도움이 될 수 있습니다.