将多个属性添加到用户帐户

问题描述 投票:0回答:2

下午好,我已经拖曳了常用的地方,这里,MS,Scritping guy,午餐等等,试着回答我的问题。我有一个通过电子邮件地址识别的用户列表,我想用下面的信息更改他们当前的空白属性。 所以:

  • 33 =全球
  • 34 = 4
  • 35 = SMTP:[email protected] 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

我已经在过去使用了这些代码的变体而没有问题来替换已经有值的属性,所以我想知道这是否是错误的一部分。

任何帮助将不胜感激。

powershell attributes cmdlets
2个回答
0
投票

更改(自定义)属性的语法是

Set-ADUser $userName -add @{'MSExchExtensionAttribute33'="Global"}

我希望这能解决你所面临的问题。


0
投票

像@theo建议:省略$ _变量,另外:设置它们时根本不需要请求属性。所以尝试这个,它适用于我的机器:

Get-ADUser -filter {(Mail -like '[email protected]')} | 
    Set-ADUser -Replace @{MSExchExtensionAttribute33="GLOBAL"; MSExchExtensionAttribute34="4"; msExchExtensionAttribute35="SMTP:[email protected]"}
© www.soinside.com 2019 - 2024. All rights reserved.