У меня есть CSV-файл с пользовательскими данными и сценарий, использующий if/else, который использует Get-ADUser, чтобы определить, существует ли учетная запись уже. Если пользователь существует, скрипт обновляет пользователя. Если пользователь не существует, я получаю сообщение об ошибке «Не удается найти объект с идентификатором:« bob.roberts ». Кажется, что пропускает остальную часть сценария. Вот обработанная версия скрипта, который я использую:
$Users = Import-Csv -Path "\\path\to\user.csv"
foreach ($User in $Users)
{
$Displayname = $User.Lastname + ", " + $User.Firstname
$UPN = $User.SAM + "@" + $User.Domain
if (Get-ADUser $User.SAM)
{
Set-ADUser -Identity $User.SAM -Enabled: $true -Description $User.Description -Title $User.Title -Company $User.Company -Office $User.Office -Department $User.Department -Email $User.Email -StreetAddress $User.Street -City $User.City -State $User.Province -PostalCode $User.PostalCode -Country CA -OfficePhone $User.Telephone -Fax $User.Fax
Move-ADObject -TargetPath $($User.OU)
}
else
{
New-ADUser -Name $Displayname -Enabled: $true -Path $User.OU -DisplayName $Displayname -SamAccountName $User.SAM -UserPrincipalName $UPN -GivenName $User.Firstname -Surname $User.Lastname -Description $User.Description -Title $User.Title -Company $User.Company -Department $User.Department -Email $User.Email -StreetAddress $User.Street -City $User.City -State $User.Province -PostalCode $User.PostalCode -OfficePhone $User.Telephone -Fax $User.Fax -AccountPassword (ConvertTo-SecureString $User.Password -AsPlainText -Force) -ChangePasswordAtLogon $false -PasswordNeverExpires $true -OtherAttributes @{'PhysicalDeliveryOfficeName'=$User.Office;'Pager'=$User.Pager;c="CA";co="Canada";countrycode=124}
}
Start-Sleep -s 2
if ($User.ADGroup -ne "null")
{
Add-ADGroupMember -Identity $User.ADGroup -Members $user.SAM
}
}
Я знаю, что что-то упускаю (вероятно, что-то очевидное), но что?