将名称从一侧切换到另一侧

时间:2017-10-02 15:01:08

标签: powershell

我必须将描述设置为以csv格式提供的相同列表。 我知道我需要samaccountnames所以我试图从命名中提取samaccount,不幸的是csv中的名字是相反的顺序,标题为name 例 名称 雪,乔恩 STARC,阿里亚 兰尼斯特,杰米

简而言之,我试过

Import-Csv C:\list.csv | 
foreach { 
$_.Name = "{1}, {0}" -f ($_.Name -split ', ') 
$_ 

没有运气,任何帮助表示赞赏。 名称应为 -

Jon snow
Arya starc
Jamie lannister

所以我可以查询AD的sam&#39>

3 个答案:

答案 0 :(得分:0)

要使用姓氏和名字,您可以这样做:

$names = $string.split(",")
[array]::Reverse($names)
$names

所以,如果我理解正确,你想跳过标题(第一行)。尝试更改以下内容:

Import-Csv C:\list.csv | Select-Object -Skip 1 | ConvertFrom-Csv -Header Name

(或根据您要跳过的行数增加' -Skip'

答案 1 :(得分:0)

你在这里给我的问题看起来有点模糊,但我想提供以下内容。如果在导入CSV时指定CSV的标题,则可以按任何顺序输出所需的任何属性:

$test = Import-Csv -Path "C:\temp\test.txt" -Header Last_Name,First_Name
$test | % {"$($_.First_Name) $($_.Last_Name)"}

答案 2 :(得分:0)

Import-Csv c:\list.csv |
foreach{   
    $last,$first = $_.name -split ","
    new-object psobject -Property @{name = "$first,$last"}
}