[AWS] [활용] SSM & PowerShell 파워쉘 사용 방법
## SSM 활용하여 대량서버 관리
[성공]
powershell -ExecutionPolicy ByPass "& aws s3 ls s3://버킷명/; aws s3 cp s3://버킷명/upload/Server.exe d:; d:; ./test.bat;"
[성공]
powershell -ExecutionPolicy ByPass -NoExit "& aws s3 ls s3://버킷명/; aws s3 cp s3://버킷명/Server.exe d:; d:; ./test.bat;"
[성공]
powershell -ExecutionPolicy ByPass -NoExit "& aws s3 ls s3://버킷명/;"
[성공]
powershell -ExecutionPolicy ByPass -NoExit "& d:; ./test.bat;"
[성공]
powershell -ExecutionPolicy ByPass -NoExit "& d:; ./test;"
[성공]
powershell -ExecutionPolicy ByPass "& d:; ./test;"
[실패]
powershell -ExecutionPolicy ByPass "& d:; test;"
# 드라이브 별도 지정
[실패]
powershell -ExecutionPolicy ByPass "test;" d:\
[성공]
powershell -ExecutionPolicy ByPass "./test;" d:\
## S3명령어
https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-services-s3-commands.html
=======================================================
## Windows Powershell 명령어를 바로가기로 구현하기
인공지능을 Windows에서 다루기 위해 Anaconda를 설치하여 Windows에서도 Python을 사용할 수 있는 기회가 많아지고 있습니다. 그러다보니 자연스레 Ubuntu에서처럼 미리 작성된 스크립트를 바로 실행시켜보고자 하는 방법을 알아보게 되었습니다.
마침 Windows Powershell에서 이와 같은 기능을 사용할 수 있을 것으로 보여 방법을 찾아보았습니다. 혹시나 해당 방법을 필요로 하시는 분들을 위해 방법을 공유해드리겠습니다.
1. Powershell 바로가기 만들기
바탕화면에 Powershell 바로가기를 만드는 방법은 두 가지 경우가 있습니다.
방법1: 바로가기 복사하기
시작버튼 오른쪽에 위치한 돋보기 버튼을 클릭하여 'powershell'이라고 검색하면 아래와 같은 화면을 보실 수 있습니다.
'Windows Powershell' 메뉴에 마우스 오른쪽 버튼을 클릭한 다음 '파일 위치 열기'를 클릭합니다.
위와 같은 PowerShell 바로가기 아이콘들을 볼 수 있습니다. 이 중 제일 아래의 것을 복사하여 원하는 위치에 붙여넣기를 해주면 됩니다.
방법2: 직접 바로가기 생성
바로가기를 두고싶은 폴더 혹은 바탕화면에서 오른쪽 버튼을 클릭하신 후 '새로 만들기(W)' → '바로 가기(S)'를 선택합니다.
바로 가기 만들기의 항목 위치 입력(T)에 다음과 같은 주소를 입력한 후 다음(N) 버튼을 눌러주세요.
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
바로가기의 이름을 지정합니다. 이 이름은 PowerShell 창을 열었을 때 창의 제목이 됩니다.
위와 같은 과정을 통해 두 가지의 PowerShell 바로가기를 생성하였습니다. 만약 PowerShell을 실행하자마자 원하는 폴더 경로에 PowerShell을 시작하고 싶으시다면 바로가기의 속성을 변경해줍니다.
2. PowerShell 실행 위치 설정
속성에서 '바로 가기' 탭을 선택해 시작 위치(S)에 PowerShell이 시작되었을 때 위치를 설정해줍니다. 위와 같이 설정하실 경우 PowerShell이 실행되자마자 바탕화면에서 PowerShell이 시작됩니다.
3. PowerShell 스크립트 작성하기
지금부터 PowerShell 명령어를 바로 실행할 수 있는 스크립트를 만들어보도록 하겠습니다. PowerShell이 실행되는 스크립드를 메모장으로 다음과 같이 작성하였습니다.
powershell -ExecutionPolicy ByPase -NoExit -Command "& winver;"
여기서 명령어 내용에 대해 간단하게 분석해드리자면
powershell: PowerSehll을 실행합니다.
-ExecutionPolicy: Script 실행 정책을 정의합니다. ByPass를 설정함으로서 직접 입력하지 않아도 해당 명령어를 사용할 수 있도록 해줍니다.
-NoExit: PowerShell 수행이 종료되거나 오류가 발생하더라도 창이 저절로 꺼지지 않게 해줍니다.
-Command: PowerShell에서 수행하고자 하는 명령어를 입력해줍니다. Enter로 나누어지는 명령의 경우 세미콜론(;)으로 구분해줍니다. 양식은 "& 명령어; 명령어;" 식으로 입력해줍니다.
4. 스크립트를 바로가기로 연결하기
다음으로 PowerShell의 바로가기를 수정하여 스크립트가 바로 실행될 수 있도록 설정해줍니다. 해당 바로가기의 속성에서 다음과 같이 수정해줍니다.
대상(T) 부분에 다음과 같은 내용을 추가하여 example.ps1 스크립트가 실행될 수 있도록 설정합니다.
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass ".\example.ps1"
위와 같이 설정된 PowerShell 바로가기를 실행하면 설정된 명령어가 바로 실행됨을 확인하실 수 있습니다.
참조 :