문제

자동 스크립트로 사용하고 싶은 몇 줄의 PowerShell 코드가 있습니다.제가 원하는 방식은 다음 옵션 중 하나를 사용하여 호출 할 수있는 것입니다.

  1. PowerShell을 열고 스크립트를 실행하고 PowerShell을 닫는 하나의 명령 줄 (글로벌 빌드 루틴에 사용됨)
  2. 위를 실행하기 위해 더블 클릭 할 수있는 파일 (빌드 프로세스의 구성 요소를 수동으로 테스트 할 때이 방법을 사용합니다)

    PowerShell 설명서를 온라인으로 살펴 봤는데 많은 스크립트를 찾을 수 있지만 필요한 작업을 수행하는 방법에 대한 지침을 찾을 수 없었습니다.도와 주셔서 감사합니다.

도움이 되었습니까?

해결책

스크립트를 .ps1 파일로 저장하고 다음과 같이 powershell.exe를 사용하여 실행합니다. 라코 디스

스크립트의 전체 경로를 지정하고 서명되지 않은 로컬 스크립트를 실행할 수 있도록 실행 정책 수준을 "RemoteSigned"이상으로 설정했는지 확인하세요.

다른 팁

http : //blogs.msdn.com / b / jaybaz_ms / archive / 2007 / 04 / 26 / powershell-polyglot.aspx

약간의 CMD로 아름다운 PowerShell 스크립트를 꾸미고 싶다면 PowerShell-CMD 다국어 트릭을 사용할 수 있습니다.PowerShell 스크립트를 .CMD 파일로 저장하고 다음 줄을 맨 위에 배치합니다. 라코 디스

따옴표 붙은 인수를 지원해야하는 경우 더 긴 버전이 있으며 주석도 허용됩니다.(이중 @의 특이한 CMD 주석 트릭에 유의하십시오). 라코 디스

Matt의 답변

출처 .

다음과 같은 배치 파일을 만들어 파일을 두 번 클릭하여 실행할 수 있습니다. 라코 디스

다른 스크립트 (예 : 배치 파일)에서 자동으로 스크립트 실행

Matt Hamilton이 제안했듯이 PowerShell .ps1 스크립트를 만들고 다음을 사용하여 호출하면됩니다. 라코 디스

또는 배치 파일의 작업 디렉터리가 PowerShell 스크립트가있는 디렉터리와 같은 경우 상대 경로를 사용할 수 있습니다. 라코 디스

이 작업을 수행하기 전에 PC의 실행 정책을 설정해야합니다. 아래에서 수행하는 방법을 보여줍니다. <시간>

수동으로 스크립트 실행 방법 1

자세한 내용은 내 블로그 게시물을 참조 하지만 기본적으로 PowerShell .ps1 스크립트 파일을 만들어 원하는 작업을 수행 한 다음 동일한 디렉터리에 .cmd 배치 파일을 만듭니다. 파일 내용에 다음을 사용합니다. 라코 디스

세 번째 줄의 MyPowerShellScript.ps1 을 PowerShell 스크립트의 파일 이름으로 바꿉니다.

이렇게하면 배치 파일을 두 번 클릭하여 PowerShell 스크립트를 실행할 수 있으며 PowerShell 실행 정책을 변경하지 않아도됩니다.

내 블로그 게시물에는 관리자 권한으로 PowerShell 스크립트를 실행하는 방법도 나와 있습니다. 필요한 작업이있는 경우 <시간>

수동으로 스크립트 실행 방법 2

또는 각 PowerShell 스크립트에 대한 배치 파일을 생성하지 않으려면 기본 PowerShell 스크립트 동작을 편집에서 실행으로 변경하여 .ps1 파일을 두 번 클릭하여 실행할 수 있습니다.

파일 경로에 공백이 포함 된 스크립트를 실행할 수 있도록 수정하려는 추가 레지스트리 설정이 있습니다. 이 두 가지 작업을 모두 수행하는 방법을 보여줍니다. 이 블로그 게시물 .

그러나이 방법을 사용하는 경우 먼저 스크립트 실행을 허용하도록 실행 정책을 설정해야합니다. 이 작업은 PC 당 한 번만 수행하면되며 PowerShell 명령 프롬프트에서이 줄을 실행하여 수행 할 수 있습니다. 라코 디스

Set-ExecutionPolicy RemoteSigned -Force 는 실제로 실행 정책을 변경하는 명령입니다. 이렇게하면 RemoteSigned 로 설정되므로 필요한 경우 다른 것으로 변경할 수 있습니다. 또한이 줄은 자동으로 PowerShell을 관리자 권한으로 실행하므로 실행 정책을 변경하는 데 필요합니다.

다음 명령을 사용할 수 있습니다. powershell.exe-인수 c : \ scriptPath \ Script.ps1

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top