Powershell 向用户帐户添加多个属性
下午好, 我已经搜罗了一些常见的地方,在这里,小姐,抄写员,午餐月等等,试图回答我的问题。我有一个由电子邮件地址标识的用户列表,我想用下面的信息更改他们当前的空白属性。Powershell 向用户帐户添加多个属性,powershell,attributes,cmdlets,Powershell,Attributes,Cmdlets,下午好, 我已经搜罗了一些常见的地方,在这里,小姐,抄写员,午餐月等等,试图回答我的问题。我有一个由电子邮件地址标识的用户列表,我想用下面的信息更改他们当前的空白属性。 因此: 33=全球 34=4 35=SMTP:User@NewDomain.com Get-ADUser -filter {(Mail -like 'User@OldDomain.com')} -Properties * | Set-ADUser -Replace @{$_.MSExchExtensionAttribute33
因此:
- 33=全球
- 34=4
- 35=SMTP:User@NewDomain.com
Get-ADUser -filter {(Mail -like 'User@OldDomain.com')} -Properties * | Set-ADUser -Replace @{$_.MSExchExtensionAttribute33="GLOBAL"; $_.MSExchExtensionAttribute34="4"; $_.msExchExtensionAttribute35="SMTP:User@NewDomain.com"};
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”}
我希望这能解决您面临的问题。更改(自定义)属性的语法是
Set ADUser$userName-add@{'MSExchExtensionAttribute33'=“Global”}
我希望这能解决您面临的问题。像@theo建议的那样:省去$变量,另外:设置属性时根本不需要请求属性。试试这个,它在我的机器上工作:
Get-ADUser -filter {(Mail -like 'User@OldDomain.com')} |
Set-ADUser -Replace @{MSExchExtensionAttribute33="GLOBAL"; MSExchExtensionAttribute34="4"; msExchExtensionAttribute35="SMTP:User@NewDomain.com"}
像@theo建议的那样:省略$变量,另外:设置属性时根本不需要请求属性。试试这个,它在我的机器上工作:
Get-ADUser -filter {(Mail -like 'User@OldDomain.com')} |
Set-ADUser -Replace @{MSExchExtensionAttribute33="GLOBAL"; MSExchExtensionAttribute34="4"; msExchExtensionAttribute35="SMTP:User@NewDomain.com"}
你在同一个广告中使用了这个代码的变量吗?如果没有,您可能需要首先在AD模式中创建属性:相同的用户、相同的AD、不同的属性。未测试,但我认为您应该省去
$\ucode>。此外,使用星号查询所有属性也不是一个好主意。试试这个:Get ADUser-Filter'mail-like“User@OldDomain.com“'-Properties msExchExtensionAttribute33,msExchExtensionAttribute34,msExchExtensionAttribute35 | Set ADUser-Replace@{msExchExtensionAttribute33=“GLOBAL”;msExchExtensionAttribute34=“4”;msExchExtensionAttribute35=“SMTP:User@NewDomain.com"}
您是否在同一广告中使用了此代码的变量?如果没有,您可能需要首先在AD模式中创建属性:相同的用户、相同的AD、不同的属性。未测试,但我认为您应该省去$\ucode>。此外,使用星号查询所有属性也不是一个好主意。试试这个:Get ADUser-Filter'mail-like“User@OldDomain.com“'-Properties msExchExtensionAttribute33,msExchExtensionAttribute34,msExchExtensionAttribute35 | Set ADUser-Replace@{msExchExtensionAttribute33=“GLOBAL”;msExchExtensionAttribute34=“4”;msExchExtensionAttribute35=“SMTP:User@NewDomain.com“}