Powershell 拆分显示名称并使用它来填充名字和姓氏
Powershell to split Display name and use it to populate First Last name
我的代码需要一些帮助。我在 OU 中有用户,他们有显示名称属性,但 First/Last 名称为空。我正在尝试使用 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]
}
您始终可以使用一个范围,也可以将中间的姓氏组合成一个姓氏。就像 John Van Smith 会有 $var[1..-1] # VanSmith.
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 "")
}
我的代码需要一些帮助。我在 OU 中有用户,他们有显示名称属性,但 First/Last 名称为空。我正在尝试使用 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]
}
您始终可以使用一个范围,也可以将中间的姓氏组合成一个姓氏。就像 John Van Smith 会有 $var[1..-1] # VanSmith.
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 "")
}