Powershell拆分显示名称并使用它来填充姓



需要一些帮助与我的代码。我在OU中有用户,他们有Display Name属性,但是First/Last Name为空。我试着用powershell填充它们。以下是我目前得到的结果:

get-aduser -filter * -SearchBase 'OU=FTE,OU=GLS,OU=Staff,DC=domain,DC=com’ | % {$_.name –split " "}

这给了我John Doe作为

的输出

约翰能源部

现在我试图设置这些值使用这个,但它失败了:

$SplitName = $_.name –split " "
get-aduser -filter * -SearchBase 'OU=FTE,OU=GLS,OU=Staff,DC=domain,DC=com’ | % {Set-ADUser -Identity $_ -GivenName $SplitName[0] -Surname $SplitName[1]}

我想我没有正确使用分割,但我不确定。

没有AD和我在一起,我不明白为什么这不会工作:

get-aduser -filter * -SearchBase 'OU=FTE,OU=GLS,OU=Staff,DC=domain,DC=com’ | % {
       $splitName = $_.name –split " "
       Set-ADUser -Identity $_ -GivenName $SplitName[0] -Surname $SplitName[1]
    }

您可以始终使用范围,也可以将中间姓氏合并为一个姓氏。就像约翰·范·史密斯会有$var[1..]-1] # vanssmith .

PS> Get-ADUser -SearchBase 'OU=FTE,OU=GLS,OU=Staff,DC=domain,DC=com' -Filter * | % {
     $dnSplit = $_.Name -split " "; Set-ADUser -Identity $_ -GivenName $dnSplit[0] -Surname $($dnSplit[1..-1] -join "")
}

最新更新