1

Active Directory ユーザー エントリを CSV で更新しようとしています。実行すると、次のエラーが表示されますが、その理由がわかりません。アカウント名を含む列が null ではありません。

    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

このコマンドレットのドキュメントを見てわかることから、指定し=たパラメーターは、パラメーター名と値の間で使用しないでください。=すべての文字を削除してみてください。

ハッシュテーブルを取るパラメーターがある場合、そのパラメーターは次のように指定する必要があります。

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