경로에 대한 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.