了解哈希表

时间:2016-09-22 05:22:38

标签: powershell csv key hashtable

我目前正在阅读一本书并且我遇到了一个关于哈希表的示例,我们有一个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个关键字,我对这个特定解决方案的疑问是:

  • 为什么Key必须是Name,N,Label或L?我可以不输入自定义密钥名称吗?使用Name,N,Label或L?

  • 有什么意义
  • 密钥samAccountNameName的值均为$_.Login ... $_.Login来自何处?这种情况意味着什么?

1 个答案:

答案 0 :(得分:1)

Key表示您必须使用提到的namelabel标识符定义的属性的属性名称。属性的名称将是您为密钥指定的值。

$_.Login来自您的CSV。您必须附加$_.,因为您正在表达式中访问该属性。