了解哈希表的键和值
Understanding key's and values of a hashtable
我目前正在阅读一本书,我遇到了一个关于散列 tables 的示例,我们有一个 CSV 文件,我们想通过管道传输到 New-ADUser
,CSV 看起来像这个:
属性 名称与 New-ADUser
接受的名称不匹配,因此 Import-CSV .\newusers.csv | New-ADUser
将不起作用,但我们可以创建一个散列 table 来更改 属性 name's to match the input that accepted by 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?我不能输入自定义键名吗?使用名称、N、标签或 L 有什么意义?
键的 samAccountName
和 Name
的值都是 $_.Login
... $_.Login
来自哪里?在这种情况下这意味着什么?
密钥代表您的 属性 的 属性 名称,您必须使用提到的 name
或 label
标识符来定义它。 属性 的名称将是您分配给键的值。
$_.Login
来自您的 CSV。您必须附加 $_.
因为您正在访问表达式中的 属性。
我目前正在阅读一本书,我遇到了一个关于散列 tables 的示例,我们有一个 CSV 文件,我们想通过管道传输到 New-ADUser
,CSV 看起来像这个:
属性 名称与 New-ADUser
接受的名称不匹配,因此 Import-CSV .\newusers.csv | New-ADUser
将不起作用,但我们可以创建一个散列 table 来更改 属性 name's to match the input that accepted by 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?我不能输入自定义键名吗?使用名称、N、标签或 L 有什么意义?
键的
samAccountName
和Name
的值都是$_.Login
...$_.Login
来自哪里?在这种情况下这意味着什么?
密钥代表您的 属性 的 属性 名称,您必须使用提到的 name
或 label
标识符来定义它。 属性 的名称将是您分配给键的值。
$_.Login
来自您的 CSV。您必须附加 $_.
因为您正在访问表达式中的 属性。