작업 스케줄러 PowerShell 스크립트가 실행되지 않습니다.

작업 스케줄러 PowerShell 스크립트가 실행되지 않습니다.

매일 아침에 Excel 파일을 열고 매크로를 실행하고 닫는 powershell 스크립트가 있습니다. 최근 레거시 네트워크 드라이브를 Sharepoint Online으로 옮길 때까지 이 기능은 제대로 작동했습니다.

스크립트를 수동으로 실행하면 스크립트가 시작되어 필요한 작업을 수행합니다. 그러나 작업 스케줄러에 배치하면 파일이 열리지 않습니다.

나는 다음을 시도했습니다.

  • OneDrive 폴더 외부에 스크립트 배치: 스크립트가 실행되지만 파일이 열리지 않습니다.
  • OneDrive 및 Sharepoint 외부에 스크립트와 파일 모두 배치: 스크립트가 실행되고 파일이 열립니다.
  • OD/SP에서 둘 다 작업 스케줄러를 실행하여 Powershell 창을 열고 거기에서 스크립트를 실행합니다. 첫 번째 창이 열리지만 두 번째 스크립트를 실행할 때 Powershell이 ​​닫힙니다.

작업을 실행하는 사용자 자신은 스크립트와 파일이 모두 있는 폴더에 대한 모든 권한을 가지며, 앞서 언급했듯이 이러한 모든 경우에 스크립트를 수동으로 실행하면 스크립트가 작동합니다. 인터넷이나 로그에서 아무것도 찾을 수 없는 것 같고(맹인이 아닌 이상 이전 작업을 모두 실행한 후에 생성된 로그가 없습니다) 머리카락이 다 떨어지기 시작합니다. 당겨.

누구든지 아이디어/조언이 있습니까?

감사해요!

답변1

작업 스케줄러 PowerShell 스크립트가 실행되지 않습니다.

귀하가 설명하는 내용과 제가 본 내용을 바탕으로구성에 따른 XML 파일당신이 있는 곳. . .

<Exec>
  <Command>"C:\Path\To\OneDrive - Company Ltd\Scripts\pwsh\DonwloadOpen.ps1"</Command>
  <Arguments>-ExecutionPolicy Bypass</Arguments>
<Exec>

작업 스케줄러에서 PowerShell을 실행하려면 대신 이렇게 구성해야 한다고 생각합니다. . .

<Exec>
  <Command>Powershell</Command>
  <Arguments>-ExecutionPolicy Bypass -File "C:\Path\To\OneDrive - Company Ltd\Scripts\pwsh\DonwloadOpen.ps1"</Arguments>
</Exec>

그래서행동탭을 만들 것입니다행동로써 정의 된:

  • 행동: Start a program
  • 프로그램/스크립트: Powershell
  • 인수 추가(선택 사항): -ExecutionPolicy Bypass -File "C:\Path\To\OneDrive - Company Ltd\Scripts\pwsh\DonwloadOpen.ps1"
  • 시작 위치(선택 사항): C:\Windows\System32\WindowsPowerShell\v1.0 여기에 이미지 설명을 입력하세요

또한 귀하의 경우 이러한 옵션 중 일부가 도움이 될 수 있지만 보안 및 구성에 따라 100% 필요하지는 않지만 테스트하기에는 충분히 쉽습니다. . .

로부터일반적인예약된 작업 탭에서사용자가 로그온했는지 여부에 관계없이 실행그리고가장 높은 권한으로 실행옵션이 모두 선택되었습니다.

여기에 이미지 설명을 입력하세요

추가 리소스


관련 정보