2014-07-16 2 views
0

이 문제와 관련하여 수많은 MSDN/Technet 및 StackOverflow 기사를 검색했지만 문제를 해결할 수 없습니다. 아래 참조.PowerShell을 사용하여 네트워크 폴더의 파일 수를 계산합니다.

네트워크 위치의 폴더에있는 파일을 단순히 계산하는 스크립트를 내 서버에서 실행하려고합니다.

로컬 폴더 인 경우 제대로 작동하며 네트워크 드라이브를 매핑 할 때 작동시킬 수 있습니다. 그러나 사용자 계정이없는 웹 인터페이스 (로컬 드라이브는 정상적으로 작동 함)에서이 스크립트를 실행하므로 네트워크 드라이브를 사용할 수 없습니다.

내 스크립트입니다 :

Get-ChildItem : Cannot find path '\\storage\folder' because it does not exist. 

[0] open folder from Network with Powershell
[1] File counting with Powershell commands
[2] Count items in a folder with PowerShell
[3] Powershell - remote folder availability while counting files

:

$Files = Get-ChildItem \\storage\folder -File 
$Files.count 

나는 오류

+0

공유에 액세스 할 필요없이 공유의 파일을 열거 할 수 없습니다. 명시 적 자격 증명을 사용하여 드라이브를 매핑하거나 코드를 실행하는 사용자 (일반적으로 웹 서버 서비스 계정)에게 공유에 대한 액세스 권한을 부여하십시오. 어느 쪽이든이 주제에 너무 있습니다. –

+0

이것이 왜 그렇게 주제에 대해 설명 할 수 있습니까? 그래서 비슷한 질문을 찾았습니다. –

+0

프로그래밍 문제가 아니라 시스템 관리 문제입니다. –

답변

0

내가 생각할 수있는 두 가지,

하나는 get-childitem 호출에 -path를 추가하는 것입니다. 나는 이것을 Powershell에서 테스트했으며 정상적으로 작동한다.

$files = get-childitem -path C:\temp $files.count 이 경로의 파일 수를 반환합니다.

그러나 로컬 파일에서 테스트하고 있습니다. 확실한 경우 원격 액세스 부분에 문제가있어 자격 증명을 설정하는 것이 좋습니다. get-credentials 옵션 외에도 직접 설정할 수도 있습니다.

$Credentials = New-Object System.Management.Automation.PsCredential("Username", "password")

그럼 아마 당신은 드라이브를 설정하고 여전히 파일에 액세스 할 수 있습니다. 희망이 도움이됩니다.

관련 문제