PowerShell 변수와 배열

0 Comments

이전에 문서 이름,PowerShell 스크립트는 튜토리얼,초보자를위한 우리는 탐험하는 방법을 사용하여 PowerShell 콘솔 스크립트를 실행하고 무엇을 배운 cmdlet,어떻게 자신의 특성과 사용하는 방법 파이프를 통과 데이터 중 하나에서 cmdlet 니다.

이 문서에서는 변수와 배열,포함하여 그것들은 무엇이며 어떻게 우리가 만들 수 있고,제거하고 변경합니다.,i>변수 목록

  • 변수 설정
  • 얻을 변
  • 인쇄 변수
  • 명확한 변수
  • 제거한 변수
  • PowerShell 배열
    • 배열 List
    • 배열 색인
    • 다차원 배열
  • PowerShell 예제는 배열
    • 정렬 배열
    • 추가한 배열
    • 배열
    • 항목을 제거에서 배열
    • 배열이 포함되
    • 명확한 배열
    • 인쇄 배열
    • 루프를 통해 배열
  • PowerShell 변수를

    변수의 단위 메모리에는 값은 저장된다., PowerShell 의 변수는”$”(달러 기호)로 시작하며 그 이름에는 문자,숫자 및 밑줄이 포함될 수 있습니다. 변수에 값을 할당하려면”=”연산자를 사용합니다. 변수의 값을 표시하려면 변수를 입력하기 만하면됩니다.,

    경우를 추가하는 번호로 문자열로 번호를 자동으로 문자열:

    $var1 = "Netwrix"$var2 = 2018$var3 = $var1 + $var2$var3

    변수 유형

    PowerShell 변수 유형에 따라 자동으로 설정 값을 할당하지만,할당할 수도 있습니다형 수동:

    $var1 = "Netwrix"

    무엇을 찾기 위해 입력 변수,우리가 사용하는”GetType()”매개변수:

    $var1 = "Netwrix"$var1.GetType().FullName

    우리가 볼 수있는 바와 같이, 우리의$var1 변수는”시스템입니다.,문자열”유형.

    에 대한 설명은 다음과 같습니다 모든 PowerShell 변수 유형:

    아마 당신이 이미 이해할 수 있는 쓸 변수이지만 몇 가지 명확한 가치하고 주의 클래스 시스템입니다.테이블의 객체. 이 변수에 cmdlet 의 출력을 쓸 수 있습니다.

    변수 범위

    PowerShell 의 변수 범위는 로컬 또는 전역 일 수 있습니다. 기본적으로 변수에는 로컬 범위가 있습니다., 변수입 제한에 의해 그것의 현재 범위,예를 들어,지역 변수 사용할 수 있는 현재는 기능 또는 스크립트는 반면,전역 변수는 활동에 걸쳐 현재 PowerShell 세션이 있습니다. 을 나타내는 변수는 형식을 사용$글로벌:variable=value 에 도시 된 바와 같이,다음과 같은 명령:

    $Global:var4 = 12

    PowerShell 변수 예

    변수 목록

    이 목록은 모든 현재 사용할 수 있는 변수는 실행하여 ls 변:*명령입니다., 의 예는 다음과 같이 출력:

    변수 설정

    을 만들 수 있는 변수에 의해 단순히 값을 할당. 예를 들어,$var4=”variableexample”명령은$var4 라는 변수를 만들고 문자열 값을 할당합니다. 큰 따옴표(“”)는 문자열 값이 변수에 할당되고 있음을 나타냅니다.

    얻을 변

    이것은 매우 비슷한 변수 목록에 명령을 사용하여 다른 cmdlet:

    Get-Variable | Out-String

    인쇄 변수

    출력할 수 있는 변수.txt,.csv 또는 HTML 파일.a 에 쓰려면 다음과 같이하십시오.,txt 파일은 Out-File 명령을 사용합니다.

    $var5 = "Hello World!"$var5 | Out-File C:\scripts\Hello_World.txt

    데이터를 a 로 내보냅니다.,”d2d13912ee”>

    그리고 HTML 파일을 사용하여 ConvertTo-Html 명령:

    $var6 = Get-Process$var6 | ConvertTo-Html -Property Name, Path > C:\scripts\processes.html

    파일을 읽는 우리 수출,우리는 사이에 콘텐츠 cmdlet:

    Get-Content C:\scripts\processes.csv

    명확한 변수

    의 내용을 취소한 변수를 사용하여 분명한 변수 cmdlet:

    Clear-Variable -name var6 #without $

    제거한 변수

    완전히 제거하는 변수, 를 사용하여 제거-가변 cmdlet:

    Remove-Variable -name var6 #without $

    PowerShell 배열

    배열에 유의한 변수입니다., 특정 순서로 배열 된 구성 요소(배열 요소)집합입니다. 배열의 요소는 순차적으로 번호가 매겨지며 해당 인덱스 번호를 사용하여 요소에 액세스합니다.

    배열을 만들 때 기본 PowerShell 동작을 알고 있어야합니다. 여러 요소가있는 배열을 만들면 PowerShell 은 의도 한대로 배열을 만듭니다. 예를 들어 몇 번호로 배열을 확인하고 다음 데이터의 유형 변수:

    $array1 = 1, 2, 3$array1.GetType()

    당신이 볼 수 있듯이,이 경우에는,PowerShell 만들어진 배열(시스템입니다.배열).,

    그러나,당신을 넣어 단지 하나의 변수에 값을 다음,PowerShell 만들지 않습니다 배열

    $array1 = 1$array1.GetType()

    의 물론 당신은 항상 말을 사전에 얼마나 많은 개체는 받을 것이 결과적으로 실행한 특정 명령 그래서 당신이 있어야 하는 코드는 항상 치료 결과 배열로.여러 가지 방법으로이 작업을 수행 할 수 있습니다. 예를 들어,”,”연산자를 사용할 수 있습니다. 는 경우에 쉼표로 사용되는 바이너리 연산자,그 후 정상적인 배열이 만들어로 사용되는 경우 단항 연산자의 배열이 하나의 요소입니다., 예를 들어,여기에 어떻게 우리가 얻을 수 있는 배열로 구성된 하나의 요소:

    $array1 = ,1$array1.GetType()

    할 수 있습니다,또는 명시적으로 데이터 형식을 지정한 변수:

    ]$array1 = 1$array1.GetType()

    마지막으로,당신은 당신을 만들 수도 있습 배열을 사용하는 부분식 운전자”@”,는 형태로 배열하지 않은 경우에도체에서의 모든 지정되어 있습니다. 변수를 배열로 초기화 한 다음 그 수에 대해 걱정하지 않고 객체를 추가하는 것이 매우 편리합니다.,

    $array3 = @()$array3.GetType()

    주는 각각 배열의 요소가 자신의 데이터 입력,그리고 유형에 객체를 추가할 수 있습은 어떤 값을 배열입니다. 필요한 경우 배열의 멤버를 특정 데이터 유형으로 제한 할 수 있습니다., 예를 들어 지정할 수 있는 배열 요소의 합의 정수 값:

    ]$array1 = 1$array1.GetType()

    고 그래서 우리는 정의 프로세스 시스템으로 배열 구성원

    ]$array1 = Get-Process$array1.GetType()

    배열 List

    는 경우 수정하거나 검색을 배열을 자주 사용할 수 있습니다 ArrayList 클래스하도록 설계되고,당신은 쉽게 추가,삭제 및 검색에 대한 항목이다:

    $array3 = New-Object System.Collections.ArrayList

    배열 색인

    인덱스는 배열의 값은 일반적으로 숫자의 정수를 식별하는 데 사용되고 참고 있는 배열 요소입니다., 배열 인덱스는 프로그래밍 언어에 따라 0 또는 1 에서 시작합니다. Windows PowerShell 배열은 0 기반이므로 배열$var3(“element zero”)의 첫 번째 요소를 참조하려면$var3 를 작성합니다.

    $var3 = "first", "second", "third"

    다차원 배열

    다차원 어레이가 사용될 수 있는 변수에 정보를 저장 테이블을 작성하지 않아도 그것이 실제 데이터베이스입니다. 해시 테이블처럼 보이지만 문자열 및 정수와 같은 다른 유형의 정보를 저장할 수 있습니다., 실제로 다차원 배열을 각 셀이 PowerShell 환경 내에 자체 인덱스를 갖는 열과 행이있는 테이블로 상상할 수 있습니다.

    PowerShell 예제는 배열

    정렬 배열

    경우 배열이 포함되어 하나의 데이터 형식을 정렬할 수 있습니다 값을 사용하여 정렬 방법:

    $array3 | Sort

    정렬하는 배열의 하나 이상의 데이터 형식 당신을 사용할 필요가 정체합니다.,

    추가한 배열

    첫째,의 배열을 만듭니다.

    $array5 = "one", "two", "three", "four", "five"$array5.gettype()

    을 쉽게 수정할 수 우리의 배열을,우리가 필요한 추가하 arraylist 컬렉션:

    $ArrayList1 = $array5$ArrayList1.GetType()

    으로 당신이 볼 수 있 BaseType 가 변경되었고 우리는 쉽게 수정할 수 있습 우리의 배열이 지금:

    $ArrayList1.Add("six")$ArrayList1.Remove("three")$ArrayList1

    배열

    하는 요소의 수를 반환에 배열,사용.,length 매개 변수:

    $array6 = 1,2,3,4,5,6echo $array6.Length

    항목을 제거에서 배열

    항목을 제거하려면,사용.명령을 제거하십시오., 다시 말하지만,그것은 더 나은 사용하 arraylist:

    $ArrayList1 = $array5$ArrayList1.GetType()$ArrayList1.Remove("three")$ArrayList1

    배열이 포함되

    를 보시려면 어떤 경우의 배열의 요소를 포함한 특정한 값을 사용하여 포함법:

    $array7 = 1,2,5,8,3,4,5$array7.Contains(2)$array7.Contains(12)

    명확한 배열

    비록 대부분의 배열의 작업에서 PowerShell 은 상대적으로 달성하기 쉬운,이 없이 단순히 길을 삭제하는 배열입니다., 가장 쉬운 방법을 제거하는 전체 배열을 지정 변수$null 다.

    $array7 = $null$array7

    을 확인하는 경우 우리의 배열은 null,다음 스크립트를 실행합니다.

    $array7 -eq $null

    PowerShell,변수가 null, 적용할 수 없습니다 어떤 방법을니다.

    프린트 배열

    인쇄하려면 전체 배열을,우리가 사용할 수 있습니다 같은 방법을 설명하는 인쇄를 위한 변수입니다.a 에 쓰려면 다음과 같이하십시오.txt 파일,Out-File 명령을 사용하십시오:

    $var5 | Out-File C:\scripts\array.txt

    a 로 내보내려면.,csv 파일을 사용하여 내보내기-Csv 명령:

    $var6 | Export-Csv -Path C:\scripts\array.csv

    그리고 HTML 파일을 사용하여 ConvertTo-Html 명령:

    $var6 | ConvertTo-Html > C:\scripts\processes.html

    루프를 통해 배열

    를 처리하기 위해서는 각각 배열 요소 한 후 다리를 만들 필요가 루프를 사용하 foreach 연산자입니다. 예를 들어 우리가 선언하는 문자열을 배열을 계산한 길이의 각 단어의 배열을,우리는 다음 스크립트를 실행합니다.

    $array8 = @("Earth","Mercury","Venus","Jupiter","Saturn","Mars", "Neptune", "Pluto") foreach ($array in $array8) { "$array = " + $array.length }

    이 문서에서,우리가 배운 것에 대해 변수와 그들의 유형입니다., 그런 다음 하나의 변수 유형 인 배열을 자세히 살펴보고 그걸로 노는 법을 배웠습니다. 이 정보를 통해 PowerShell 에 더 깊이 잠수 할 준비가되었습니다.

    Jeff 는 Netwrix 의 글로벌 솔루션 엔지니어링 디렉터입니다. 그는 오랫동안 Netwrix 블로거,연사 및 발표자입니다. Netwrix 블로그에서 Jeff 는 시스템 관리 경험을 획기적으로 향상시킬 수있는 lifehacks,팁 및 트릭을 공유합니다. 나는 이것이 내가 할 수있는 유일한 방법이라고 생각한다.


    답글 남기기

    이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다