경로에 대한 Powershell 액세스가 거부되었습니다.


11

나는 이것이 백만 번 요청되었다고 확신하지만 powershell 에서이 간단한 명령을 실행할 수없는 이유를 알 수 없습니다.

PS> new-item -path c:\users\me\desktop\testfolder -name (get-date).txt -value (get-date).toString() -itemtype file

나는 영원히 다음과 같은 오류가 발생합니다 :

New-Item : Access to the path 'C:\Users\Me\desktop\testfolder' is denied.

... PermissionDenied: ... UnauthorizedAccessException
... FullyQualifiedErrorId: NewItemUnauthorizedAccessError,Microsoft.PowerShell...

어쨌든,

나는 다음을 모두 시도했지만 아무 소용이 없었다.

  • Powershell을 관리자로 실행 (예 : "관리자로 실행")
  • 실행 정책 설정 원격 서명
  • 폴더의 "takeown"
  • 폴더의 보안 설정을 "모든 사람> 모든 권한"으로 설정
  • -힘

다음에 답을 찾기 위해 어디로 가야합니까? 내 로컬 컴퓨터의 관리자입니다. 바보 같은 텍스트 파일을 만드는 것만 큼 간단한 일을 할 권리가 없다는 것은 매우 실망스러운 일입니다 ...

머리를 당기는 중 ...


-Force 매개 변수를 사용해 보셨습니까?
— EBGreen

방금 시도한 동일한 오류 (지금 위의 목록에 추가
— 하겠습니다

XP에서 일부 테스트를 수행했으며 사용자 폴더에 파일이나 폴더를 만들 수 없습니다 (내 경우에는 C : \ Documents and Settings). 그러나 C : \ 에서이 작업을 수행 할 수 있습니다. ACL 등으로 무언가를해야합니다.
— Mechaflash

답변:


9

로 반환 된 DateTime 문자열 형식 Get-Date에는 파일 이름에 사용할 수없는 문자가 포함되어 있습니다. 다음과 같이 해보십시오 :

new-item -path .\desktop\testfolder -name "$(get-date -format 'yyyyMMdd_HHmm').txt" `
        -value (get-date).toString() -itemtype file

필요에 따라 형식 문자열을 변경하십시오.


1
어 ... 잘 잡는다.
— EBGreen

1

문제는와 -name (get-date).txt동일하지 않습니다 (get-date) + ".txt". 전자는 반환 된 System.DateTime객체 에서 "txt"라는 속성을 읽으려고 시도 하고 후자는 날짜의 문자열 표현에 ".txt"문자열을 추가합니다. 전자에서는 속성으로서의 .txt $null가 존재하지 않기 때문에 반환 합니다. 이것은 차례로 new-item -path .\desktop\folder폴더가 이미 존재하므로 액세스 거부를 반환 하는 효과적으로 실행하려고한다는 것을 의미 합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.