powershell Set-ADuser extensionAttribute将不起作用,但像title这样的东西可以

flmtquvp  于 2023-03-08  发布在  Shell
关注(0)|答案(2)|浏览(169)

我正在编写一个简单的脚本,它接受一个已经创建的用户,并根据管理员输入的内容更新一个属性。
如果我用title或类似的东西替换extensionAttribute,代码就可以正常工作,但是用extensionAttributes就不行了。
我已经尝试了一些东西和其他extensionAttributes,但代码是如此简单,它与其他属性一起工作。我猜extensionAttributes需要更多的代码,我错过了。

$name = Read-Host "AD Logon Name"
$key = Read-Host "Azure Key"
Set-ADUser $name -extensionAttribute6 $key -PassThru

设置-AD用户:找不到与参数名称“extensionAttribute 6”匹配的参数
即使它存在,它也找不到它。

tjjdgumg

tjjdgumg1#

Set-ADUser具有一组有限的参数,涵盖AD中最常用的属性。但是,考虑到现有属性的绝对数量以及AD架构是可扩展的这一事实,将所有属性表示为参数的尝试是不可行的。
对于未表示为参数的属性,请使用带哈希表参数的参数-Add-Replace

Set-ADUser $name -Replace @{'extensionAttribute6' = $key} -PassThru
zzlelutf

zzlelutf2#

老线索,但这对我有用:

Import-Csv -Path "C:\data\12345.csv" |ForEach-Object {
    Set-ADUser $_.samAccountName -replace @{
    description = "$($_.description)"
    extensionAttribute1 = "$($_.extensionAttribute1)"
    extensionAttribute3 = "$($_.extensionAttribute3)"
    initials = "$($_.initials)";
    #additionalAttributeName = "$($_.additionalAttributeName)"
    #additionalAttributeName = "$($_.additionalAttributeName)"
    #additionalAttributeName = "$($_.additionalAttributeName)"
    #additionalAttributeName = "$($_.additionalAttributeName)"
    #additionalAttributeName = "$($_.additionalAttributeName)"
    }
    }

在本例中,.csv文件的顶行如下所示:

samAccountname,description,extensionAttribute1,extensionAttribute3,initials

相关问题