Replace 我修复了自己的问题:如何替换Active Directory中的部分姓氏

Replace 我修复了自己的问题:如何替换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

因此,我试图确定为什么姓氏的结尾没有被修剪或替换。我使用了trim()和replace(“-Disabled,”),这样我只能得到姓氏,但它似乎不起作用。 我看过各种各样的例子,但似乎没有一个是有效的

我正在使用Powershell

$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]
        }
}