このエラーが実際に意味するものを理解しようとしています。これまでのところ、このエラーに対する同様のヘルプ要求の検索には、パラメータの欠落、パイプの不足、単一行または複数行の使用、連結問題などがありますが、答えのどれも決定的な理由がありません。だから、私は問題がコードフォーマットであると仮定します(これは、追跡するのをより困難にします)。Powershell: "xxx"という引数を受け付ける位置パラメータが見つかりません
これは、ターゲットOUごとにアクティブなディレクトリユーザーの名前を変更するために作成したスクリプトです。どのような形式であっても、現在はfirstname.surname形式です。
私は、一部のユーザーがエラーをトリガするテストOUを作成しました。しかし、私にエラーを与えてはならないユーザは、「引数を受け入れる位置パラメータが見つからない」というメッセージが表示されます。
私はスクリプトに何が間違っているのかは分かりませんが、 。
Import-Module ActiveDirectory
$users = $null
$users = Get-ADUser -SearchBase "ou=Testing,ou=Users,dc=my,dc=domain" -Filter * -Properties *
ForEach($user in $users)
{
Write-Host "Processing... $($user)"
$newname = $null
# Check first/last name is set
if (!$user.givenName -or !$user.Surname)
{
Write-Host "$($user) does not have first name or last name set. Please correct, skipping user."
continue
} else {
$newname = ("$($user.givenName).$($user.Surname)")
#Check if new username already exists
if (dsquery user -samid $newname) {
Write-Host "$($user) requires altered username with initial."
if (!$user.Initials) {
Write-Host "$($user) does not have any initials set. Please correct, skipping user."
continue
}
$newname = ("$($user.givenName)$($user.Initials).$($user.Surname)")
#Check if altered new username already exists
if (dsquery user -samid $newname) {
Write-Host "$($user) requires manual change. Please correct, skipping user."
continue
}
}
Try {
#Change UPN
Set-ADUser $user -userPrincipalName = $newname
#Change DN
Rename-ADObject -identity $user -Newname $newname
} Catch {
Write-Host "Error when renaming $($user). Error is: $($_.Exception.Message). User requires manual change. Please correct, skipping user."
continue
}
}
}
私たちに推測させる代わりに、エラーが発生した場所が参考になります。これは、 'Set-ADUser $ user -userPrincipalName = $ newname'という誤りです。削除する等号記号 – Matt