我有一些powershell代码,在创建用户之后,代码使用Quest / AD分配帐户的属性负载。除Mailnickname之外的所有属性都分配。是否有这样的原因/如何解决它。以下是我的代码:
>nm DeltaTimer.o
00000000000001a7 t _GLOBAL__I__ZN10DeltaTimerC2Ev
0000000000000145 T _Z3Barv
0000000000000167 t _Z41__static_initialization_and_destruction_0ii
00000000000000b0 T _ZN10DeltaTimer3FooEv
0000000000000000 T _ZN10DeltaTimerC1Ev
0000000000000000 T _ZN10DeltaTimerC2Ev
000000000000008a T _ZN10DeltaTimerD0Ev
0000000000000040 T _ZN10DeltaTimerD1Ev
0000000000000040 T _ZN10DeltaTimerD2Ev
U _ZNSolsEPFRSoS_E
U _ZNSolsEi
U _ZNSt8ios_base4InitC1Ev
U _ZNSt8ios_base4InitD1Ev
U _ZSt4cout
U _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_
0000000000000000 b _ZStL8__ioinit
U _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
0000000000000000 V _ZTI10DeltaTimer
0000000000000000 V _ZTS10DeltaTimer
0000000000000000 V _ZTV10DeltaTimer
U _ZTVN10__cxxabiv117__class_type_infoE
U _ZdlPv
00000000000000f1 T _ZlsRSoRK10DeltaTimer
U __cxa_atexit
U __dso_handle
U __gxx_personality_v0
>nm DeltaTimer.o | grep -i ostream
U _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_
U _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
有人会对如何设置此内容有什么建议。
提前致谢。
史蒂夫
答案 0 :(得分:0)
你必须使用Quest吗?这本身适用于PS v3:
Get-ADUser $xy | Set-ADUser -Add @{mailNickname=$xy}
或者:
Get-ADUser $xy | Set-ADUser -Replace @{mailNickname=$xy}
我认为你的意思是PowerShell v1。我没有用过PS v1。您是否使用Import-Module ActiveDirectory
开始编写脚本?如果没有,你应该在你的行顶部发布。对于此处的Quest,脚本始终以Import-Module ActiveDirectory
开头,下一行为Add-PSSnapIn Quest.ActiveRoles.ADManagement
。这适用于PS v2:
Import-Module ActiveDirectory
Add-PSSnapIn Quest.ActiveRoles.ADManagement
#This line lets you just type the user you want to modify
$XY = Read-Host "Input User ID"
#This is your code you said works
get-qaduser $xy | Add-QADProxyAddress -Address ("SMTP:"+$x) -verbose
get-qaduser $xy | Add-QADProxyAddress -Address ("SMTP:"+$xy+"@domainexample.mail.onmicrosoft.com") -verbose
get-qaduser $xy | Set-QADUser -ObjectAttributes @{msExchVersion="44210883383015"} -verbose
#This should add the mailNickname property through standard PS
Get-ADUser $XY | Set-ADUser -Add @{mailNickname = $XY}
看看这是否符合你的要求并回复我。请记住:在此示例中,您将变量$ XY声明为运行脚本时用户输入的内容。
答案 1 :(得分:-1)
您之所以看到这种情况,可能是因为ARS'内置政策 - 默认电子邮件别名'政策。您可以通过检查您尝试创建/修改的用户对象的更改历史记录来验证是否是这种情况。
您会看到Property' Alias(mailNickName)'从操作请求中删除,因为没有请求任何Exchange任务。
尝试同时设置targetAddress属性,以避免被此策略删除。