我正在尝试在AD中编辑一组用户电话号码的格式。具体来说,将'-'字符替换为''。但是,我似乎无法访问现有的电话号码,我需要这样做来替换字符。我知道Set-ADUser下的-OfficePhone标志设置了TelephoneNumber属性,该属性似乎正在工作,并且在属性编辑器中也有电话号码属性以及期望值。但是,当我尝试访问$user.telephoneNumber时,它变成空白。

这是我的代码,其中注释了哪些有效/哪些无效以及某些行为:

foreach ($user in $users) {
    # Works. Prints out various basic attributes of user
    Write-Output $user

    # Doesn't work. Prints blank
    Write-Output $user.telephoneNumber

    # Works
    Set-ADUser -Identity $user -OfficePhone '555555555'
}

最佳答案

如AdminOfThings所述,您需要使该属性可访问。您可以通过使用-Properties命令上的Get-ADUser参数来执行此操作。这是一个例子:

Get-ADUser -Identity USER_NAME -Properties TelephoneNumber

如果您想找回所有属性,可以使用:
Get-ADUser -Identity USER_NAME -Properties *

10-04 13:50