PowerShell에서 사용자 정의 객체 배열을 초기화하는 방법

  1. Windows PowerShell에서 배열 사용하기
  2. Windows PowerShell에서 배열 접근하기
  3. Windows PowerShell을 사용하여 배열의 항목 변경하기
  4. Windows PowerShell에서 배열 반복하기
  5. Windows PowerShell을 사용하여 배열에 객체 만들기
  6. Windows PowerShell을 사용하여 배열의 객체 접근하기
  7. Windows PowerShell을 사용하여 배열의 객체 업데이트하기
  8. Windows PowerShell에서 배열의 프로퍼티 접근하기
  9. Windows PowerShell에서 ArrayList 만들기
PowerShell에서 사용자 정의 객체 배열을 초기화하는 방법

배열은 Windows PowerShell의 기본 기능입니다. 이는 정확한 데이터 구조를 수집하고 조작하며 출력하는 것을 가능하게 합니다(단순한 원시 문자열이 아닙니다).

이 기능은 PowerShell을 다른 스크립팅 언어와 다르고 더 실용적으로 만듭니다.

이 글에서는 배열이 무엇인지, Windows PowerShell에서 배열을 생성하는 방법, 그리고 이것들을 조작하는 데 필요한 기능을 사용할 것입니다.

Windows PowerShell에서 배열 사용하기

Windows PowerShell의 배열은 하나 이상의 항목을 포함할 수 있습니다. 배열은 문자열, 정수, 객체 또는 다른 배열일 수 있습니다.

각 항목은 0에서 시작하여 항목마다 반복되는 인덱스를 가집니다.

배열을 생성하는 기본 구문은 @()입니다.

$data = @()

@ 뒤에 괄호 안에 값을 넣을 수 있습니다:

$data = @('Zero', 'One', 'Two', 'Three')

배열의 항목을 표시하려면, 이름 붙인 변수를 호출할 수 있습니다:

$data

출력:

Zero
One
Two
Three

Windows PowerShell에서 배열 접근하기

이제 배열을 가졌으므로 항목에 접근하고 싶습니다. 이를 위한 여러 가지 방법이 있습니다.

첫 번째 방법은 배열의 항목 인덱스를 사용하는 것입니다. 앞서 언급했듯이 인덱스는 0에서 시작합니다.

따라서 Windows PowerShell에 할당된 인덱스가 0인 항목을 살펴보라고 지시하여 배열에서 첫 번째 항목을 검색해야 합니다.

$data[0]

이 구문은 zero라는 문자열을 반환할 것입니다. 이는 우리가 배열에 처음 넣었던 문자열이기 때문입니다. 같은 명령어에 더 많은 인덱스를 넣어 동일한 배열에서 여러 항목을 반환하도록 이 스니펫을 확장할 수 있습니다.

$data[0, 2, 3]

출력:

Zero
Two
Three

Windows PowerShell을 사용하여 배열의 항목 변경하기

배열의 항목을 업데이트하기 위해 동일한 방법을 사용할 수 있습니다. 예를 들어, 할당된 인덱스가 2인 항목을 업데이트하려면 다음을 실행할 수 있습니다:

$data[2] = 'second'

이 방법은 배열 내부의 항목에 직접 접근할 수 있습니다.

Windows PowerShell에서 배열 반복하기

Windows PowerShell의 가장 강력한 기능 중 하나는 배열의 모든 항목에 동일한 작업을 수행하는 것입니다. 가장 기본적인 방법은 파이프라인 문자(|)를 사용하는 것입니다.

예를 들어, 배열의 각 항목에 설명을 추가하려면 다음 명령어를 사용할 수 있습니다:

$data | ForEach-Object { "Item: [$PSItem]" }

이 명령어는 PowerShell 스크립팅 환경에 $data 배열의 항목을 한 번에 하나씩 처리하도록 지시합니다.

Windows PowerShell을 사용하여 배열에 객체 만들기

우리는 문자열과 동일한 방법을 사용하여 사용자 정의 객체로 가득 찬 배열을 만들 수 있습니다, 배열 (@()) 기능을 사용합니다. 예를 들어, 직원의 테스트 목록을 만들려면 다음을 사용할 수 있습니다:

$data = @(
    [pscustomobject]@{FirstName = 'Kevin'; LastName = 'Marquette' }
    [pscustomobject]@{FirstName = 'John'; LastName = 'Doe' }
)

대부분의 PowerShell 기본 명령은 작업할 변수를 할당할 때 이 유형의 객체로 가득 찬 배열을 반환합니다.

Windows PowerShell을 사용하여 배열의 객체 접근하기

이전 과정에서 개별 데이터 조각에 접근하기 위해 진행한 과정은 객체를 포함하는 배열에도 동일하게 적용할 수 있습니다.

$data[0]

출력:

FirstName LastName
-----     ----
John     Hampton

또는 특정 프로퍼티를 명령문 내에서 호출하고자 하는 개별 객체의 프로퍼티를 지정하여 얻을 수 있습니다.

$data[0].FirstName

출력:

John

Windows PowerShell을 사용하여 배열의 객체 업데이트하기

정확한 구문은 배열에 담긴 객체 내에서 개별 프로퍼티를 업데이트할 수 있게 해줍니다.

$data[0].FirstName = 'Jay'

Windows PowerShell에서 배열의 프로퍼티 접근하기

대부분의 프로그래밍 및 스크립팅 언어에서는 다양한 객체의 모든 프로퍼티에 접근하기 위해 반복 방법을 사용해야 합니다. Windows PowerShell에서도 그렇게 할 수 있습니다.

$data | ForEach-Object { $_.LastName }

이 방법은 우리의 배열에서 모든 LastName 프로퍼티 리스트를 반환할 것이지만, 계산 비용이 많이 들고 이 데이터를 보려면 매번 작성하기 어렵습니다. 그래서 대신 PowerShell에는 단축키가 있습니다.

$data.LastName

그리고 동일한 목록을 볼 수 있습니다. PowerShell은 이전과 마찬가지로 각 객체를 차례로 처리하지만, 이 복잡성을 우리에게 숨깁니다.

Windows PowerShell에서 ArrayList 만들기

배열에 항목을 추가하는 것은 어려울 수 있습니다. 그러나 ArrayList는 더 우아하게 이를 처리하는 다른 유형의 컬렉션입니다.

하지만 이러한 유형의 컬렉션을 사용하려면 .NET 프레임워크를 사용해야 합니다. ArrayList를 생성하고 항목을 추가하려면 다음을 실행하세요:

$myarray = [System.Collections.ArrayList]::new()

[void]$myArray.Add('Value')