파워쉘 스크립팅 언어를 처음 사용하고 있고 파워쉘 스크립트를 실행하는 방법을 배우고 싶다면,올바른 블로그 포스트에 오셨습니다. 이 블로그는 스크립트를 실행하는 일반적인 방법과 팝업 수있는 몇 가지 문제를 다루는 튜토리얼이 될 것입니다.
목차
필수 구성 요소
이 문서에서는 로컬 컴퓨터에서 파워쉘을 실행하는 방법에 대해 설명합니다. 당신이 따라하고 싶은 경우,이 문서를 시작하기 전에 장소에 다음과 같은 전제 조건이 있는지 확인하십시오.
- 윈도우 10 관리자 권한이있는 컴퓨터.
- 윈도우 파워 쉘 버전 5 이상. 당신은 또한 사용할 수 있습니다. 이 튜토리얼은 윈도우 운영 체제가 이미 가지고 있기 때문에 윈도우 파워 쉘에 초점을 맞출 것이다.
- 모든 텍스트 파일 편집기
실행 정책 처리
처음 실행하려는 경우 일반적인 문제가 발생할 수 있습니다. “이 시스템에서 실행 중인 스크립트를 사용할 수 없기 때문에 로드할 수 없습니다.”라는 오류 메시지가 반환됩니다.
PS> .\GetServices.ps1 File C:\Temp\GetServices.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170. At line:1 char:1 .\GetServices.ps1 ~~~~~ CategoryInfo : SecurityError: (:) , PSSecurityException FullyQualifiedErrorId : UnauthorizedAccess
실행 정책이 제한됨,원격 서명됨 또는 모두 서명됨으로 설정된 상태에서 실행하려고 하면 위의 오류 메시지가 반환됩니다.
제한됨
제한됨 기본 정책은 모든 스크립트를 제한하도록 설정되어 있을 수 있습니다.
터미널에서 개별 명령을 실행할 수는 있지만 스크립트 파일은 실행할 수 없습니다. 제한은.ps1xml
,.psm1
또는.ps1
으로 끝나는 모든 파일을 포함합니다.
무제한
무제한 스크립트를 실행할 수 있지만 스크립트가 인터넷에서 다운로드된 경우 실행 전에 경고합니다. 이 정책은 일반적으로 비 윈도우 장치에 대한 기본값입니다.
원격 서명된
원격 서명된 정책을 사용하면 디지털 서명된 스크립트를 실행할 수 있습니다.
스크립트가 인터넷에서 다운로드되고 서명되지 않은 경우 파일의 차단을 해제해야 합니다. 당신은 파일을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하여 수행 할 수 있습니다. 또는 해당 특정 스크립트 파일에 대해Unblock-File
를 사용할 수 있습니다.
원격 서명 정책을 사용하면 인터넷에서 다운로드한 스크립트를 실행할 때 이상적인 옵션입니다.
서명된 모든
서명된 모든 스크립트는 신뢰할 수 있는 게시자가 디지털 방식으로 서명해야 합니다. 여기에는 인터넷에서 다운로드하여 컴퓨터에 로컬로 작성된 스크립트가 포함됩니다.
실행 정책 변경:
- 정책을 변경할 수 있는 가장 높은 권한이 있는지 확인합니다.
2. 열 때 컴퓨터의 실행 정책을 설정 하려면 다음 명령을 실행 합니다. 위에서 설명한 대로 실행 정책은 세 가지 유형 중 하나일 수 있습니다. 이 튜토리얼은 원격 설계의 유용하면서도 여전히 안전한 실행 정책을 사용하고 있습니다.
이 자습서에서는 인터넷에서
PS> Set-ExecutionPolicy RemoteSigned
원격 설계 실행 정책을 사용하면 시스템에서 실행되기 전에 인터넷에서 다운로드한 모든 파워쉘 스크립트에 암호화 서명을 해야 합니다.
3. 작업 확인을 요청하는 출력이 표시됩니다. 입력 와이 그리고 히트 입력 정책 변경을 확인합니다.
Execution Policy Change The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose you to the security risks described in the about_Execution_Policies help topic at https:/go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy? Yes Yes to All No No to All Suspend Help (default is "N"):
이 시점에서 다음 단계에 따라 컴퓨터에서 여러 가지 방법으로 스크립트를 실행할 수 있습니다.
파워 쉘 스크립트를 실행하는 방법
파워 쉘 스크립트를 실행하는 방법을 보여,당신은 실제로 실행하는 스크립트 파일이 필요합니다! 당신이 편리한 하나가없는 경우,이 압축 파일을 다운로드하고 내 파일 압축을 풉니 다. 간단한 스크립트 파일을 찾을 수 있습니다..
Write-Output "Listing Computer Services"Get-Service
모든 파워 쉘 스크립트는
.ps1
확장자로 끝나야합니다.
콘솔 사용
스크립트를 준비했으면 몇 가지 다른 방법으로 실행할 수 있습니다. 가장 일반적인 방법 중 하나는 파워 쉘 콘솔을 통해입니다.
:
- 위 그림과 같이 파워 쉘 콘솔을 엽니 다.
2. 스크립트가 있는 파일 시스템 위치로 이동합니다. 이 튜토리얼의 스크립트는 C:\Temp 디렉토리.
PS> cd C:\Temp\
3. 점(.
)표기법을 사용하여 스크립트를 실행합니다. 명령 이름을 찾는 셸입니다. 스크립트의 머리말을 지정해야 합니다. 이 점은 현재 디렉토리를 나타냅니다.
PS> .\GetServices.ps1
파워쉘 위치를 통해 명령줄에서 파워쉘 스크립트를 실행하는 방법
파워쉘 콘솔을 통해 스크립트를 실행할 수 없거나 실행할 수 없는 경우 좋은 명령줄(명령 프롬프트)을 사용해도 됩니다.
명령 프롬프트를 통해 스크립트를 실행 하려면 먼저 시작 해야 합니다.다음 매개 변수로 스크립트 경로를 전달합니다.
powershell.exe -Parameter 'Foo' -Parameter2 'Bar'
과 같은 파워쉘 실행 파일을 실행하는 동안 매개 변수를 지정하면 모든 컨텍스트에서 매개 변수를 사용하여 스크립트를 실행할 수 있습니다.
아래와 같이 파워쉘 스크립트를 실행할 수 있습니다. 이 예제는 엔진을 실행하고 스크립트 경로를 전달합니다.C:\Temp\GetServices.ps1.
아래 예제에서는 스크립트를 실행하기 위해 위치 경로를 사용하고 있습니다. 폴더가 어딘가에 경로에없는 경우이 작업을 수행해야합니다.
CMD> C:\Program Files\WindowsPowerShell\powershell.exe "C:\Temp\GetServices.ps1"
다른 실행 파일을 사용합니다.일반적으로 위치 C:\Program 파일 이름엑스
다음은 배치 파일을 통해 스크립트를 실행하는 것을 다루는 편리한 유튜브 비디오입니다.실행.
다른 스크립트를 직접 만들거나 다른 스크립트를 편집하는 경우,아마 파워쉘 이세 또는 비주얼 스튜디오(대)코드와 같은 스크립트 편집기를 사용하게 될 것입니다. 이세 윈도우와 함께 제공하기 때문에,이 튜토리얼에 대한 그 방법에 초점을 맞출 수 있습니다.
:
- 시작 메뉴로 이동,파워 쉘 이세을 검색하고 엽니 다.
2. 파일을 클릭하십시오.열기를 클릭하고 스크립트를 찾으십시오.
3. 스크립트가 열린 상태에서 녹색 실행 버튼을 클릭하여 스크립트를 실행합니다. 이 버튼은 아래쪽에 있는 기본 제공 파워쉘 터미널에서 스크립트를 호출합니다.
샘플 스크립트의 출력
때때로 출력을 반환할 수 있습니다. 이 문제는 실행 중인 스크립트가 오브젝트를 반환하도록 빌드될 때 발생합니다.
샘플
PS> .\GetScripts.ps1Listing Computer ServicesStatus Name DisplayName------ ---- -----------Running aakore Acronis Agent Core ServiceStopped AarSvc_1b668d Agent Activation Runtime_1b668dRunning AcronisActivePr... Acronis Active Protection ServiceRunning AcronisCyberPro... Acronis Cyber Protection ServiceRunning AcrSch2Svc Acronis Scheduler2 ServiceRunning AdobeARMservice Adobe Acrobat Update ServiceRunning AdobeUpdateService AdobeUpdateServiceRunning AGMService Adobe Genuine Monitor ServiceRunning AGSService Adobe Genuine Software Integrity Se...----Truncated----
스크립트 내에서 두 개의 스크립트가 있고 다른 스크립트를 호출하고 싶다고 가정해 보겠습니다. 이 스크립트는 사용자 암호를 재설정하는 데 사용됩니다.명령줄에서 스크립트를 호출하는 것처럼 다른 스크립트를 실행할 줄을 추가합니다.
당신은 당신이 몇 가지 옵션이 아래에 볼 수 있습니다. 일반적으로 다른 세션이나 범위 내에서 다른 스크립트를 실행하여 다른 세션에서 스크립트를 실행해야 하는 특정 이유가 없는 경우 작업을 단순화하도록 선택해야 합니다.
## To run the other script in a new sessionpowershell.exe .\ResetPassword.ps1## To run the other script in the same session.\ResetPassword.ps1