我正在尝试使用CSV更新Active Directory用户条目。当我运行它时,我得到以下错误,我无法理解为什么。包含帐户名称的列不为空。
Set-ADUser : A positional parameter cannot be found that accepts argument '$null'.
At line:2 char:11
+ Set-ADUSer <<<< -Identity $_.sAMAccountName`
+ CategoryInfo : InvalidArgument: (:) [Set-ADUser], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.SetADUser
(repeat for each row in the CSV)
这是我现有的更新脚本:
Import-Module ActiveDirectory
$userList = Import-Csv '.\UpdatedUserInfo.csv'
$userList|Foreach{
Set-ADUSer -Identity $_.sAMAccountName`
-givenName = $user.givenName`
-initials = $user.initials`
-sn = $user.sn`
-cn = $user.name`
-displayName = $user.displayName`
-department = $user.department`
-telephoneNumber = $user.telephoneNumber`
-facsimileTelephoneNumber = $user.facsimileTelephoneNumber`
-mobile = $user.mobile`
-homePhone = $user.homePhone`
-company = $user.Company`
-physicalDeliveryOfficeName = $user.physicalDeliveryOfficeName`
-streetAddress = $user.streetAddress`
-l = $user.l`
-postOfficeBox = $user.postOfficeBox`
-state = $user.st`
-postalCode = $user.postalCode
}
答案 0 :(得分:0)
从我可以看到的这个cmdlet上的文档来看,您指定的参数不应在参数名称和值之间使用=
。尝试摆脱所有=
字符。
如果您确实有一个确实采用哈希表的参数,那么应该像这样指定该参数:
Set-ADUser -Replace @{name=_value_; name=_value_}