Replace 我修复了自己的问题:如何替换Active Directory中的部分姓氏
因此,我试图确定为什么姓氏的结尾没有被修剪或替换。我使用了trim()和replace(“-Disabled,”),这样我只能得到姓氏,但它似乎不起作用。 我看过各种各样的例子,但似乎没有一个是有效的 我正在使用PowershellReplace 我修复了自己的问题:如何替换Active Directory中的部分姓氏,replace,trim,Replace,Trim,因此,我试图确定为什么姓氏的结尾没有被修剪或替换。我使用了trim()和replace(“-Disabled,”),这样我只能得到姓氏,但它似乎不起作用。 我看过各种各样的例子,但似乎没有一个是有效的 我正在使用Powershell $results = Get-ADUser -Filter * -Properties Enabled,DisplayName | Where-Object{$_.Name -match $regex} | Select Name,SurName,Display
$results = Get-ADUser -Filter * -Properties Enabled,DisplayName |
Where-Object{$_.Name -match $regex} |
Select Name,SurName,DisplayName,Enabled
foreach ($user in $results) {
if ($user.DisplayName -like "*-DISABLED"){
$SurName = $user.SurName
$lastName = $SurName.replace("-Disabled"," ")
write-host $lastname}}
}
印刷品:
Martin-DISABLED
Oconnell-DISABLED
Rodgers-DISABLED
Hughes-DISABLED
Anderson-DISABLED
这行代码似乎使用了姓氏。由于使用[0],它拆分了**名称“-”disabled**并取回了姓氏。如果我使用[-1],那么它将改为disabled 代码:
您现有的代码可以在my环境中工作,除了$lastname后面的额外“}”之外 Split使用此代码:
$results = Get-ADUser -Filter * -Properties Enabled,DisplayName |
Where-Object{$_.Name -match $regex} |
Select Name,SurName,DisplayName,Enabled
foreach ($user in $results)
{
if ($user.DisplayName -like "*-DISABLED")
{
$SurName = $user.SurName
$lastName = $SurName.split("-")
write-host $lastname[0]
}
}
也可以使用[1],它将返回与[-1]相同的内容。谢谢,我不确定是否删除了多余的内容,但我已将我的内容使用完毕。:)
$results = Get-ADUser -Filter * -Properties Enabled,DisplayName |
Where-Object{$_.Name -match $regex} |
Select Name,SurName,DisplayName,Enabled
foreach ($user in $results)
{
if ($user.DisplayName -like "*-DISABLED")
{
$SurName = $user.SurName
$lastName = $SurName.split("-")
write-host $lastname[0]
}
}