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

Powershell 将名称从一侧切换到另一侧,powershell,Powershell,我必须将描述设置为csv格式提供的SAME列表。 我知道我需要samaccountnames,所以我试图从named中调出samaccount,不幸的是csv中的名称顺序相反,标题是名称 例子 名称 斯诺,乔恩 斯塔克,雅利娅 兰尼斯特,杰米 简而言之,我试过了 Import-Csv C:\list.csv | foreach { $_.Name = "{1}, {0}" -f ($_.Name -split ', ') $_ 运气不好,任何帮助都将被感激。 名字应该是- Jon sn

我必须将描述设置为csv格式提供的SAME列表。 我知道我需要samaccountnames,所以我试图从named中调出samaccount,不幸的是csv中的名称顺序相反,标题是名称 例子 名称 斯诺,乔恩 斯塔克,雅利娅 兰尼斯特,杰米

简而言之,我试过了

Import-Csv C:\list.csv | 
foreach { 
$_.Name = "{1}, {0}" -f ($_.Name -split ', ') 
$_ 
运气不好,任何帮助都将被感激。 名字应该是-

Jon snow
Arya starc
Jamie lannister

因此,我可以查询sam的广告

以获得lastname和firstname。您可以执行以下操作:

$names = $string.split(",")
[array]::Reverse($names)
$names
因此,如果我理解正确,您希望跳过标题(第一行)。尝试更改以下内容:

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

(或根据要跳过的行数增加“-Skip”数量)

要获得lastname和firstname,可以执行以下操作:

$names = $string.split(",")
[array]::Reverse($names)
$names
因此,如果我理解正确,您希望跳过标题(第一行)。尝试更改以下内容:

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

(或者根据您要跳过的行数增加“-Skip”数量)

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

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

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

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

是的


不,我想让名字按名字和姓氏的顺序排列。你可以将拆分后的字符串存储在变量中,如下:$a,$b=$string.split(“”)-请参阅更新的答案我尝试了
Import Csv C:\list.Csv | foreach{$a,$b=$string.split(“”)$\uName=$b+,“+$a}$\uName
Csv
Name snow,jon starc,arya
no luckOK试试这个:$names=$string.split(“,”),然后添加[array]:$Reverse($names)和最后的$names(我将在格式化的答案中添加它)我认为需要ps v3或更高版本我得到`找不到“Reverse”的重载和参数计数:“1”。在第3行char:17+[array]::Reverse no我希望名字按firstname和lastname的顺序排列您可以按如下方式将拆分的字符串存储在变量中:$a,$b=$string.split(“”)-请参阅更新的答案我尝试了
Import Csv C:\list.Csv | foreach{$a,$b=$string.split(“”)$\Name=$b+,“+$a}$\u.Name
Csv
Name斯诺,jon starc,arya
no luckOK试试这个:$names=$string.split(“,”),然后添加[array]:$Reverse($names)和最后的$names(我将在格式化的答案中添加它)我认为需要ps v3或更高版本我得到`找不到“Reverse”的重载和参数计数:“1”。在第3行char:17+[array]::相反,我得到了它的工作,挑战是它只有一个标题名。如果你想知道
Import Csv c:\list.Csv | foreach{$last,$first=$\u.name-split”,“new object psobject-property@{name=“$first,$last”}
我得到了它的工作,挑战在于它只有一个标题名。如果您想知道
Import Csv c:\list.Csv | foreach{$last,$first=$\uuu0.name-split”,“new object psobject-property@{name=“$first,$last”}