PowerShell에는 여러 계층이 있습니다.악의적 인 스크립트 및 명령이 실행되는 것을 방지하는 보안. 예를 들어 PowerShell 실행 정책을 변경하지 않으면 기본적으로 인터넷에서 다운로드 한 스크립트를 실행할 수 없습니다. 또 다른 보안 조치는 스크립트를 두 번 클릭하여 실행하지 못하게합니다. PS1 스크립트를 PowerShell과 연결할 수 없으며 스크립트를 실행하는 유일한 방법은 마우스 오른쪽 단추로 클릭하고 실행 옵션을 선택하는 것입니다. 두 번 클릭하면 메모장에서 열립니다. 이는 보안 조치에 유용하지만 예약 된 작업이 실행될 때 PowerShell 스크립트를 실행하려는 경우 성가신 일입니다. 해결 방법은 간단합니다. 배치 스크립트를 사용하여 PowerShell 스크립트를 자동 실행할 수 있습니다.
배치 스크립트
다음은 Windows 10에서 PowerShell 스크립트를 자동 실행하는 데 필요한 배치 스크립트입니다. 각 PowerShell 스크립트에는 고유 한 배치 스크립트가 필요합니다.
통사론
@ECHO OFF PowerShell.exe -Command "Path to script" PAUSE
“스크립트 경로”를 실행하려는 PowerShell 스크립트의 실제 경로로 바꿉니다. 다음 예제를 고려하십시오.
예
@ECHO OFF PowerShell.exe -Command "C:Reminder-ScriptsMilkBuy-Milk.ps1" PAUSE
메모장을 열고 스크립트를 붙여 넣습니다. 확장자가 .bat 인 파일을 저장하십시오.
이 배치 파일의 기능은 파일이 열립니다PowerShell을 지정한 다음 지정한 스크립트를 실행합니다. 여전히 데스크톱에서 PowerShell 스크립트를 두 번 클릭하여 PowerShell에서 자동으로 실행할 수는 없습니다. 현재 파일은 명령 프롬프트 창을 열고 '계속하려면 아무 키나 누르십시오'메시지를 표시합니다. 키를 누르면 PowerShell 스크립트 만 실행됩니다. 개입하지 않고 스크립트를 실행하려면 위 스크립트를 수정하고‘PAUSE’줄을 제거하십시오. 다음과 같아야합니다.
@ECHO OFF PowerShell.exe -Command "Path to script"
작업 스케줄러 및 PowerShell 스크립트
자동 실행을 원한다고 가정합니다.예약 된 작업에 대한 작업 인 PowerShell 스크립트 이를 수행하려면 먼저 위에 표시된대로 해당 배치 스크립트를 작성하여 PowerShell 스크립트를 실행해야합니다. 그런 다음 예약 된 작업을 생성 할 때 트리거에 응답하여 수행 할 작업에서 배치 스크립트를 선택하십시오. 실제로 PowerShell 스크립트가 실행됩니다.
여기서는 작업 스케줄러를 예로 사용했지만다른 자동화 앱을 사용하는 경우에도 배치 스크립트를 호출해야합니다. 사용중인 자동화 앱이 PowerShell을 열고 PowerShell 스크립트를 가리킬 수있는 경우는 예외입니다.
코멘트