2013-01-18 2 views
1

.cmd 파일에 저장된 powershell 스크립트를 웹에서 다운로드 한 다음 압축을 풉니 다. 나의 푸른 웹 역할은 시작시 그것을 실행합니다. 나는 푸른 시작 작업을 통해 스크립트를 실행하면Powershell 스크립트는 Azure 시작 태스크가 아닌 원격 작업시 작동합니다.

powershell -ExecutionPolicy Bypass -c $(New-Object Net.WebClient).DownloadFile('URL.zip', 'FILE.zip') ; 
(New-Object -com shell.application).namespace('c:\FOLDER').Copyhere((New-Object -com shell.application).namespace('FILE.zip').items()) 

: 이것은 스크립트입니다 스크립트의 첫 번째 부분은 작동합니다. 파일이 다운로드됩니다. unzips 스크립트의 두 번째 부분은 실행되지 않습니다.

VM에 원격으로 명령 줄을 통해 스크립트를 실행할 때 : 전체 스크립트가 실행됩니다.

따라서 구문 오류가 아닙니다. 위의 두 가지 경우에서 내가 생각할 수있는 유일한 차이점은 사용 권한 문제입니다. 하지만, PowerShell을 -ExecutionPolicy를 사용하여 Bypass로 설정하고 있는데,이 권한은 가장 높은 권한 수준입니다. 아무도 아이디어가 없나요? 감사!

+1

시작 작업을 실행하는 서비스 구성의 줄이 어떻게 표시되는지 알려주십시오. – Frans

+0

문제를 찾을 수 있었습니까? 나는 비슷한 문제가 있는데 파일을 압축 해제하는 스크립트를 실행하고 서버에서 프로세스를 수동으로 실행할 때 작동하지만 자동 프로세스가 실행되지 않으면 실행되지 않으며 예외가 발생하지 않으며 간단히 말해서 내 파일의 압축을 풉니 다 – Jupaol

+1

@Jupaol, 나는 그것이 우회 할 수없는 권한 수준이라고 확신한다. 내 솔루션은 시작 스크립트가 나에게 압축을 풀어주는 콘솔 앱을 시작하도록하는 것이었다. 그거야. 행운을 빕니다! – carlbenson

답변

0

명령의 출력이 파일로 덤프되도록 명령을 변경하십시오. 이 같은 것이 작동해야합니다.

<YOUR_COMMAND> > out.log 2> err.log 

작업을 다시 실행하고 로그에서 출력을 체크 아웃하십시오.

또한 절대 경로가 아닌 상대 경로를 사용하고 있습니다. 예정된 작업은 Windows 시스템 폴더를 작업 디렉토리로 사용하여 실행되므로 권한 오류가 발생할 수 있습니다. 당신이 만든 디렉토리에 대한 절대 경로를 사용해보십시오.

관련 문제