나는 (내 콘솔에서) 스크립트를 실행, PowerShell과 함께 일하고 있어요 :나는 PowerShell을 보안 및 파일 액세스 문제를 이해하는 데 도움이 필요이 줄을 포함
:$inpath = "C:\users\xxxxx\path\foo\bar"
을하고 나는이 오류가 계속
Get-Content : Access to the path 'C:\users\xxxxx\path\foo\bar' is denied.
At C:\users\xxxxx\path\foo\testscript.ps1:53 char:12
+ Get-Content <<<< $txtfile | Get-WordCount -Exclude (Get-Content c:\temp\exclude.txt) | select -First 15
+ CategoryInfo : PermissionDenied: (C:\users\xxxxx\path\foo\bar:String) [Get-Content], UnauthorizedAcc
essException
+ FullyQualifiedErrorId : GetContentReaderUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetContentCommand
스크립트 및 대상 파일은 모두 로컬 드라이브에 있습니다. 탐색기에서 파일에 액세스하고, 메모장을 사용하여보기/편집/저장하며, 사용 권한 제한이 설정되지 않았습니다. 명령 줄에있을 때 내 경로의 파일에서 get-content
cmdlet를 실행할 수 있습니다. 디렉토리 PS C:> cd C:\users\xxxxx\path\foo\bar
을 바꿀 수 있으며 거기에있는 것을 성공적으로 나열 할 수 있습니다. 더 흥미로운 점은 스크립트에서 오류가있는 행을 복제 할 수 있고 명령 줄에 오류가 표시되지 않는다는 것입니다.
PS C:\users\xxxxx\path\foo> $inpath = "C:\users\xxxxx\path\foo\bar"
PS C:\users\xxxxx\path\foo>
이 날은 '거부 권한이'오류가 실제로 뭔가 다른, 또는 내가 어떻게 문제 해결을 진행하는 단서가있어 충분히 막연한 뭔가 의심한다. PS가 실행중인 사용자와 다른 권한을 가질 수 있습니까? 이전에이 동작을 본 사람이 있습니까? 어떻게 문제를 해결 했습니까? 내가 알지 못하는 간단한 해결책이 있다고 확신한다.
어떻게 스크립트 어떤 권한을 실행? 작업 스케줄러의 작업? 콘솔에서 스크립트를 호출하면 스크립트가 작동합니까? –
어떤 파일을 읽으려고하십니까? (폴더에 액세스 할 수는 있지만 폴더에 들어있는 파일에는 액세스 할 수 없습니다.) – Richard
@Graimer - 스크립트가 콘솔에서 실행 중입니다. 스크립트에 어떤 사용 권한이 있는지, 내 사용자 권한과 다른 경우이를 설정하거나 설정하는 방법을 모릅니다. 콘솔에서 AS SCRIPT (예 : PS c : \ foo>. \ script.ps1)에서 작동하지 않지만 콘솔 프롬프트로 개별 회선을 입력하면 작동합니다. – dwwilson66