2017-11-13 1 views
0

Get-EC2Instance cmdlet으로 가져 오는 AWS 인스턴스를 정렬하려고하지만 현재 직면 한 문제는 해당 속성이 태그이고 I 제대로 포맷하는 방법을 모르겠다. 나는 "Sort-Object -Property Name"과 같은 간단한 속성을 할당하는 것에 대해서만 알고 있습니다.AWS 인스턴스를 태그별로 정렬 : Get-EC2Instance Cmdlet 이후의 PowerShell 이름

다음을 사용하여 이름 태그로 필터링 된 AWS 인스턴스를 가져 왔습니다.

$ids = Get-EC2Instance -Filter @(@{name='tag:Name'; values="*EXAMPLE*"}) | Select-Object -ExpandProperty instances | #insert sort here 

마지막 부분에서 파이프 라인 정렬을 시도합니다. tag, tag : Name, tag : Key = Name과 같은 속성을 시도했지만 모두 실패했습니다. Get-EC2Image를 사용할 때 정렬 이름에 문제가 없었지만 Get-EC2Instance에 대해 알아낼 수 없습니다.

Sort EC2 Instances by Tag Name에 AWS CLI 버전 및 답변이 있지만 PowerShell에 적용 할 수 없습니다.

편집 : 질문을 수정하고 downvoted 이후 자세한 내용을 추가했습니다.

답변

0

출력을 Sort-Object cmdlet으로 파이프 할 수 있습니다. 이 문제를 테스트하기 위해 AWS 인스턴스에 대한 액세스 권한이 없습니다. 이 명령의 변형을 시도하십시오.

$ids = Get-EC2Instance -Filter @(@{name='tag:Name'; values="*EXAMPLE*"}) | Select-Object -ExpandProperty instances | Sort-Object $_.Tag.Value 

두 가지 방법이 있습니다. 작동하지 않았다 정의 된 속성없이

(Get-EC2Instance).instances.tag.value 
+0

감사 인 Ashish하지만 정렬-Object cmdlet으로 : 당신은 $_
또는 당신은 같은 방법 체인을 사용하여 직접 속성을 참조 할 수 있습니다 사용하여 객체를 얻을 수 있습니다. – nuk11888

+0

답변을 업데이트했습니다. 확인해주십시오. 두 가지 방법이 있습니다. $ _를 사용하여 객체를 가져 오거나 다음과 같은 메소드 체인을 사용하여 직접 속성을 참조 할 수 있습니다. (Get-EC2Instance) .instances.tag.value –

+0

죄송합니다. 두 방법을 모두 테스트했지만 내 방식대로 정렬하지 않았습니다. 첫 번째 메서드는 정렬되지 않고 정렬되지 않은 동일한 목록을 출력하지만 두 번째 메서드 (Get-EC2Instance) .instances.tag.value에는 "Sort-Object :"오류가있었습니다. 매개 변수의 값이 null이고 다음 형식 중 하나입니다 예상했다 : {System.String, System.Management.Automation.ScriptBlock}. "Sort-Object (get-ec2instance) .instances.tag.value" – nuk11888

관련 문제