source

PowerShell 스크립트 실행 방법

factcode 2023. 5. 9. 23:02
반응형

PowerShell 스크립트 실행 방법

PowerShell 스크립트를 실행하려면 어떻게 해야 합니까?

  • myscript.ps1이라는 스크립트가 있습니다.
  • 필요한 모든 프레임워크가 설치되어 있습니다.
  • 는 그 실행 정책을 설정했습니다.
  • 이 MSDN 도움말 페이지의 지침에 따라 다음과 같이 실행하려고 합니다.powershell.exe 'C:\my_path\yada_yada\run_import_script.ps1'(포함 여부에 관계없이)--noexit)

파일 이름이 출력되는 것을 제외하고는 정확히 아무것도 반환하지 않습니다.

오류도 없고, 메시지도 없고, 아무것도 없습니다.오, 내가 추가할 때.-noexit동일한 상황이 발생하지만 PowerShell에 남아 수동으로 종료해야 합니다.

.ps1 파일은 프로그램을 실행하고 해당 프로그램의 출력에 따라 오류 수준을 반환하도록 되어 있습니다.하지만 저는 아직 거기에 도착하지도 못하고 있다고 꽤 확신합니다.

내가 뭘 잘못하고 있는 거지?

필수 구성 요소:

  • 관리자로서 PowerShell을 실행할 수 있어야 합니다.
  • PowerShell 실행 정책을 허용 값으로 설정하거나 무시할 수 있어야 합니다.

단계:

  1. 관리자로 윈도우즈 PowerShell을 시작하고 다음 작업을 기다립니다.PS>출현을 재촉하는.

  2. PowerShell 내에서 스크립트가 있는 디렉토리로 이동합니다.

    PS> cd C:\my_path\yada_yada\ (enter)
    
  3. 스크립트 실행:

    PS> .\run_import_script.ps1 (enter)
    

또는: 명령 프롬프트에서 PowerShell 스크립트를 실행할 수 있습니다(cmd.exe) 다음과 같이 합니다.

powershell -noexit "& ""C:\my_path\yada_yada\run_import_script.ps1""" (enter)

Kirk Munro의 cmd.exe(또는 Start | Run)에서 PowerShell 스크립트를 호출하는 방법에 따라 달라집니다.

또는 C# 애플리케이션에서 PowerShell 스크립트를 비동기식으로 실행할 수도 있습니다.

PowerShell 2.0을 사용하는 경우 PowerShell.exe의-Filecmd.exe와 같은 다른 환경에서 스크립트를 호출하는 매개 변수입니다.예:

Powershell.exe -File C:\my_path\yada_yada\run_import_script.ps1

기본 스크립트 실행 정책을 수정하지 않고 스크립트를 실행하려면 윈도우즈 PowerShell을 시작할 때 바이패스 스위치를 사용할 수 있습니다.

powershell [-noexit] -executionpolicy bypass -File <Filename>

유형:

powershell -executionpolicy bypass -File .\Test.ps1

참고: 여기Test.ps1PowerShell 스크립트입니다.

저도 같은 문제를 겪었고, 노력하고 노력했습니다.마지막으로 사용한 항목:

powershell.exe -noexit "& 'c:\Data\ScheduledScripts\ShutdownVM.ps1'"

그리고 이 줄을 배치 파일에 넣으면, 이것이 작동합니다.

PowerShell 1.0만 있으면 충분히 유용할 것 같습니다.

powershell -command - < c:\mypath\myscript.ps1

스크립트 파일을 PowerShell 명령줄로 연결합니다.

꽤 쉽습니다.윈도우즈에서 .ps1 파일을 마우스 오른쪽 버튼으로 클릭하고 셸 메뉴에서 PowerShell로 실행을 클릭합니다.

  1. 관리자 모드에서 PowerShell 열기
  2. 실행:set-executionpolicy unrestricted
  3. 일반 PowerShell 창을 열고 스크립트를 실행합니다.

오류 메시지의 일부로 제공된 링크에 따라 이 솔루션을 찾았습니다.실행 정책 정보

실해야합다니를 반드시 하세요.set-ExecutionPolicy default작업이 완료되면 보안 위험에 노출됩니다.

cmd(BAT) 파일 사용:

@echo off
color 1F
echo.

C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "PrepareEnvironment.ps1"

:EOF
echo Waiting seconds
timeout /t 10 /nobreak > NUL

관리자 권한으로 실행해야 하는 경우:

  1. 명령 프롬프트를 가리키는 바로 가기 만들기(관리 명령 프롬프트로 이름 지정)
  2. 바로 가기의 속성을 열고 호환성 탭으로 이동합니다.
  3. 권한 수준 섹션에서 "관리자 권한으로 이 프로그램 실행" 옆의 확인란이 선택되어 있는지 확인합니다.

쉬운 방법은 PowerShell ISE를 사용하여 스크립트를 열고 스크립트, 함수를 실행 및 호출하는 것입니다.

여기에 이미지 설명 입력

Windows 작업 스케줄러에서 PowerShell 스크립트를 실행하려면 다음 단계를 수행하십시오.

  1. 작업 만들기

  2. Program/ScriptPowershell.exe

  3. Arguments-File "C:\xxx.ps1"

Windows 작업 스케줄러를 사용하여 PowerShell 스크립트를 자동으로 실행하는 방법은 무엇입니까?라는 다른 대답입니다.

이 스립트같경지우정된이로 지정된 .ps1에서 PowerShell을 할 수 ./myscript.ps1파일이 작업 디렉토리에 있는지 확인합니다.

PowerShell 버전 5.1이 설치된 Windows 10의 경우에도 마찬가지이며, 이를 가능하게 하기 위해 아무것도 하지 않은 것 같습니다.

  • 스크립트의 경로, 즉 cmd로 경로 설정을 지정합니다.

    $> . c:\program file\prog.ps1

  • PowerShell의 진입점 기능을 실행합니다.

    를 들면, 들면를예,$> add or entry_func or main

cmd에서 다음과 같이 실행할 수 있습니다.

type "script_path" | powershell.exe -c -

을 합니다.-File파일 이름 앞에 있는 매개 변수입니다.인용문은 PowerShell이 명령 문자열이라고 생각하게 합니다.

버튼을 때.ps1하고 " PowerShell : "PowerShell"을 클릭합니다.

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & 'C:\Users\USERNAME\Desktop\MYSCRIPT.ps1'"

적절한 실행 정책을 사용하면 파일을 직접 호출하면 Windows에서 PowerShell과 연결할 수 있습니다.

C:\my_path\yada_yada\run_import_script.ps1

그것은 논쟁과는 잘 맞지 않습니다.당신의 질문에 대한 진정한 대답은 당신이 그것을 놓치고 있다는 것입니다.&"이걸 무시해"라고 말하는 것은

powershell.exe '& C:\my_path\yada_yada\run_import_script.ps1'

언급URL : https://stackoverflow.com/questions/2035193/how-to-run-a-powershell-script

반응형