下午好,我已经拖曳了常用的地方,这里,MS,Scritping guy,午餐等等,试着回答我的问题。我有一个通过电子邮件地址识别的用户列表,我想用下面的信息更改他们当前的空白属性。 所以:
Get-ADUser -filter {(Mail -like '[email protected]')} -Properties * | Set-ADUser -Replace @{$_.MSExchExtensionAttribute33="GLOBAL"; $_.MSExchExtensionAttribute34="4"; $_.msExchExtensionAttribute35="SMTP:[email protected]"};
但是,当我运行命令时,我收到此错误:
A null key is not allowed in a hash literal.
At line:1 char:98
+ ... roperties * | Set-ADUser -Add @{$_.MSExchExtensionAttribute34="4"; $_ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Collections.Hashtable:Hashtable) [], RuntimeException
+ FullyQualifiedErrorId : InvalidNullKey
我已经在过去使用了这些代码的变体而没有问题来替换已经有值的属性,所以我想知道这是否是错误的一部分。
任何帮助将不胜感激。
更改(自定义)属性的语法是
Set-ADUser $userName -add @{'MSExchExtensionAttribute33'="Global"}
我希望这能解决你所面临的问题。
像@theo建议:省略$ _变量,另外:设置它们时根本不需要请求属性。所以尝试这个,它适用于我的机器:
Get-ADUser -filter {(Mail -like '[email protected]')} |
Set-ADUser -Replace @{MSExchExtensionAttribute33="GLOBAL"; MSExchExtensionAttribute34="4"; msExchExtensionAttribute35="SMTP:[email protected]"}