2016-09-22 1 views
1

현재 책을 읽었으며 해시 테이블에 대한 예를 살펴 보았습니다. CSV 파일은 New-ADUser으로 보내고 CSV 파일은 다음과 같습니다 :해시 테이블의 키 및 값 이해

enter image description here

이름 New-ADUser에 의해 허용되는 것과 일치하지 않는 속성 때문에 Import-CSV .\newusers.csv | New-ADUser이 작동하지 않습니다,하지만 우리는 속성 이름의이 New-ADUser에서 허용하는 입력에 맞게 변경하는 해시 테이블, 제공하는 솔루션을 만들 수 있습니다 이 책의 내용은 다음과 같습니다.

C:\> import-csv .\newusers.csv | 
>> select-object -property *, 
>> @{name='samAccountName';expression={$_.login}}, 
>> @{label='Name';expression={$_.login}}, 
>> @{n='Department';e={$_.Dept}} 

내가 키와 연관된 값이 있음을 이해하고, 3 키의 총이있다,이 특정 솔루션에 대한 제 질문은 다음과 같습니다

  • 왜 키 이름 일 필요는 않습니다, N, 레이블 또는 L? 사용자 정의 키 이름을 넣을 수 있습니까? Name, N, Label 또는 L을 사용하면 어떤 의미가 있습니까? 대한

  • 가치 키의 samAccountNameName 모두 $_.Login가 ... 어디 $_.Login에서 온 않는거야? 이 상황에서 무엇을 의미합니까?

답변

1

키는 당신이 언급 한 name 또는 label 식별자를 사용하여 정의 할 필요가 귀하의 재산의 속성 이름을 나타냅니다. 속성 이름은 키에 지정한 값입니다.

$_.Login은 CSV에서 가져옵니다. 표현식에서 속성에 액세스하기 때문에 $_.을 추가해야합니다.

+0

그런 것들을 지우지 만, 나는 아직도'Name'이나'Label'을 사용하여 속성 이름을 지정해야만하는 이유를 얻지 못합니까? 대신에'custom01'과'custom02'을 사용할 수 없었습니다. 나는 여전히 같은 속성 이름과 값을 가질 것입니다. 속성 이름은 여전히'New-ADUser'' ByPropertyName'을 통과 할 수 있으므로'name'과'label'을 어떻게 사용하지 않는지 알지 못합니다. – kyldu

+0

PowerShell은 'custom01'이 속성의 이름임을 어떻게 알 수 있습니까? 특성 이름 e를 지정해야합니다. 지. 'custom01' (식별자는'name' 또는'label') –

+0

유감스러운 표현입니다. 제 질문은 다음과 같습니다 : 식별자는'name'이나'label'이어야합니까? 예를 들면 : {., 표현 = {$ _ 로그인} 이름 = '의 samAccountName'}' 및 '@ '@ {. 사용자 정의 = '의 samAccountName'; 표현 = {$이 _ 로그인}}' 지정 'samAccountName'의 프로퍼티 이름과'$ _. login'의 값은 변경되었지만, 식별자가 변경된 경우, 사용되는 식별자가 변경됩니까? 그렇지 않다면, 이름이나 라벨 식별자 사이에 차이점이 있습니까, 아니면 물건을 정리하기 위해 방금 사용 된 식별자입니까? – kyldu

관련 문제