1

我正在尝试使用 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
}
4

1 回答 1

0

从查看此 cmdlet 上的文档可以看出,您指定的参数不应=在参数名称和值之间使用。尝试摆脱所有=字符。

如果您确实有一个使用哈希表的参数,那么应该像这样指定该参数:

Set-ADUser -Replace @{name=_value_; name=_value_}
于 2012-10-02T01:40:44.797 回答