항목 about_Data_Sections 간단한 설명 텍스트 문자열 및 기타 읽기 전용 데이터를 스크립트 논리와 분리하는 Data 섹션에 대해 설명합니다. 자세한 설명 Windows PowerShell용으로 설계된 스크립트에는 데이터만 포함된 Data 섹션이 하나 이상 있을 수 있습니다. 스크립트, 함수 또는 고급 함수에는 Data 섹션을 하나 이상 포함할 수 있습니다. Data 섹션의 내용은 Windows PowerShell 스크립트 언어의 지정된 하위 집합으로 제한됩니다. 데이터를 코드 논리와 분리하면 논리와 데이터를 모두 쉽게 식별하고 관리할 수 있습니다. 그러면 오류 메시지 및 도움말 문자열과 같은 별도의 텍스트용 문자열 리소스 파일을 사용할 수 있습니다. 보안 및 유효성 검사 테스트를 쉽게 수행할 수 있도록 코드 논리도 분리됩니다. Windows PowerShell에서는 Data 섹션을 사용하여 스크립트 국제화를 지원합니다. Data 섹션을 사용하여 여러 UI(사용자 인터페이스) 언어로 변환될 문자열을 보다 쉽게 격리하거나 찾거나 처리할 수 있습니다. Data 섹션은 Windows PowerShell 2.0 기능입니다. Data 섹션이 있는 스크립트를 Windows PowerShell 1.0에서 실행하려면 스크립트를 수정해야 합니다. 구문 Data 섹션에 대한 구문은 다음과 같습니다. DATA [-supportedCommand <cmdlet-name>] { <Permitted content> } Data 키워드가 필요합니다. 이 키워드는 대/소문자를 구분하지 않습니다. 허용된 내용은 다음 요소로 제한됩니다. - -match를 제외한 모든 Windows PowerShell 연산자 - If, Else, ElseIf 문 - $PsCulture, $PsUICulture, $True, $False, $Null 등의 자동 변수 - 주석 - 파이프라인 - 세미콜론(;)으로 구분된 문 - 다음과 같은 리터럴 a 1 1,2,3 "Windows PowerShell 2.0" @( "red", "green", "blue" ) @{ a = 0x1; b = "great"; c ="script" } [XML] @' <p> Hello, World </p> '@ - Data 섹션에 허용된 Cmdlet입니다. 기본적으로 ConvertFrom-StringData cmdlet만 허용됩니다. - SupportedCommand 매개 변수를 사용하여 Data 섹션에 허용하는 Cmdlet입니다. Data 섹션에서 ConvertFrom-StringData cmdlet을 사용하면 키/값 쌍을 작은따옴표 또는 큰따옴표 문자열이나 작은따옴표 또는 큰따옴표 here-string으로 묶을 수 있습니다. 그러나 변수와 하위 식이 포함된 문자열은 변수가 확장되지 않고 하위 식이 실행 가능하지 않도록 작은따옴표 문자열 또는 작은따옴표 here-string으로 묶어야 합니다. SupportedCommand SupportedCommand 매개 변수를 사용하면cmdlet 또는 함수에서 데이터만 생성됨을 나타낼 수 있습니다. 이 변수는 사용자가 작성하거나 테스트한 데이터 섹션에 cmdlet과 함수를 포함할 수 있도록 설계되었습니다. SupportedCommand의 값은 cmdlet 또는 함수 이름 하나 이상을 쉼표로 구분하여 나열한 목록입니다. 예를 들어 다음 데이터 섹션에는 XML 파일의 데이터 서식을 지정하는 사용자 작성 cmdlet인 Format- XML이 포함됩니다. DATA -supportedCommand Format-XML { Format-XML -strings string1, string2, string3 } 데이터 섹션 사용 Data 섹션의 내용을 사용하려면 이 섹션을 변수에 할당하고 변수 표기법을 사용하여 내용에 액세스합니다. 예를 들어 다음 데이터 섹션에는 here-string을 해시 테이블로 변환하는 ConvertFrom-StringData 명령이 있습니다. 해시 테이블은 $TextMsgs 변수에 할당됩니다. $TextMsgs 변수는 데이터 섹션의 일부가 아닙니다. $TextMsgs = DATA { ConvertFrom-StringData -stringdata @' Text001 = Windows 7 Text002 = Windows Server 2008 R2 '@ } $TextMsgs에서 해시 테이블의 키와 값에 액세스하려면 다음 명령을 사용합니다. $TextMsgs.Text001 $TextMsgs.Text002 예제 단순 데이터 문자열입니다. DATA { "Thank you for using my Windows PowerShell Organize.pst script." "It is provided free of charge to the community." "I appreciate your comments and feedback." } 허용되는 변수가 포함된 문자열입니다. DATA { if ($null) { "To get help for this cmdlet, type get-help new-dictionary." } } ConvertFrom-StringData cmdlet을 사용하는 작은따옴표로 묶인 here-string입니다. DATA { ConvertFrom-StringData -stringdata @' Text001 = Windows 7 Text002 = Windows Server 2008 R2 '@ } ConvertFrom-StringData cmdlet을 사용하는 큰따옴표로 묶인 here-string입니다. DATA { ConvertFrom-StringData -stringdata @" Msg1 = To start, press any key. Msg2 = To exit, type "quit". "@ } 다음 데이터를 생성하는 사용자 작성 cmdlet이 포함된 데이터 섹션입니다. DATA -supportedCommand Format-XML { Format-XML -strings string1, string2, string3 } 참고 항목 about_Automatic_Variables about_Comparison_Operators about_Hash_Tables about_If about_Operators about_Quoting_Rules about_Script_Internationalization ConvertFrom-StringData Import-LocalizedData