예약 된 작업의 Exchange PowerShell이 ​​영구적으로 실행 됨


8

예약 된 작업으로 실행하려는 Exchange 2010 PowerShell 스크립트 몇 개가 있습니다.

"다른 사용자로 실행"을 사용하여 PowerShell을 시작하면 스크립트를 실행할 수 있으며 제대로 실행됩니다.

동일한 사용자를 사용하여 작업을 예약하면 작업이 계속 실행 중 상태로 유지됩니다.

작업이 어디에서 멈추는 지 어떻게 알 수 있습니까?

참고로 Exchange 항목을 활성화하는 방법은 다음과 같습니다.

. 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'
Connect-ExchangeServer -auto

작업 스케줄러에서 스크립트를 실행하려고 시도한 방법은 다음과 같습니다.

  • powershell-명령 "& {. 'c : \ windows \ script.ps1'}"
  • powershell-파일 'c : \ windows \ script.ps1'
  • powershell-파일 "c : \ windows \ script.ps1"

모두 같은 결과입니다. 으악 ...


파티에 늦게 언급했지만 나는 같은 행동을했습니다. PowerShell을 사용하여 등록 된 예약 된 작업 Register-ScheduledJob은 PowerShell 콘솔과 ISE를 닫으면 종료되지 않습니다.
— user4317867

답변:


3

실행 정책을 수정하거나 -ExecutionPolicy Bypass명령 줄 매개 변수로 지정해야합니다 .

powershell -Command "<path to .ps1 script>" -ExecutionPolicy Bypass

1
명령 줄 매개 변수에 ExecutionPolicy 옵션을 추가했습니다. 변경 없음; 작업은 여전히 ​​영원히 실행됩니다.
— longneck

2

이것이 당신이하는 방법인지 확실하지 않지만 작업 스케줄러를 통해 PowerShell 스크립트를 실행할 때 "프로그램 시작"작업을 사용하고 powershell을 선택한 다음 거기에서 인수를 추가하십시오. 그것은 당신이 여기서하고있는 것일 수도 있지만, 불분명합니다. 스크린 샷은 다음과 같습니다. 여기에 이미지 설명을 입력하십시오

CompWiz 당 실행 정책도 문제가 될 수 있습니다.


그것은 powershell.exe에 대한 유효한 명령 줄 구문조차 아니지만, 단지 그것을 위해 시도했습니다. 작업이 즉시 실패했습니다.
— longneck

내 모든 powershell 작업이 그런 식으로 실행되고 제대로 작동하기 때문에 흥미 롭습니다.
— ZnewmaN

C : \ WINDOWS \ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe-명령 "& 'c : \ windows \ script.ps1'"
— ZnewmaN

아, 차이가 있습니다. 스크린 샷에-command
— longneck

예, 실제로 개인적으로 -command를 사용하지는 않지만 적절한 사용법 일 것입니다.
— ZnewmaN

0

나는 같은 문제가 있었다. 필자의 경우 해결책은 "start in"디렉토리를 지정하는 것입니다 (내 스크립트는 파일의 전체 경로를 지정하지 않았기 때문에 찾을 수없는 파일의 내용을 읽습니다).


0

나는 동일한 문제가 있었고 taskkill 명령을 사용하는 "user279399"의 의견은 매우 도움이되었으며 수정이 필요했습니다. 인수 구문 끝에 내 솔루션이 있습니다.

taskkill /f /fi "USERNAME eq domain\exchadmin" /im powershell.exe

이 명령은 해당 사용자 계정으로 실행중인 powershell 세션 만 종료합니다. 예약 된 작업을 실행하기 위해 별도의 Exchange 관리자 계정을 갖는 것이 가장 좋습니다.


-3

스크립트 끝에 [taskkill / f / im "powershell.exe"]를 추가하면 모든 "powershell.exe"프로세스가 종료됩니다. 현재 power-shell 프로세스를 종료하는 방법을 모르겠습니다 ([cmd.exe / c]와 동일). 그러나 그것은 트릭을 할 것입니다.


그리고 또 다른 파워 쉘 스크립트가 실행 중이고 아마도 중요한 일을하고 있다면 어떨까요? 묻지 않고 이러한 프로세스를 종료 하시겠습니까? 프로덕션 환경에서? 일상적으로? 진심이야?!
— Esa Jokinen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.