Я работаю над сценарием для моего работодателя, который будет сравнивать то, что у нас есть в Active Directory, с файлом CSV из другого программного обеспечения, которое мы используем. Active Directory должна соответствовать файлу CSV. Проблема, с которой я сталкиваюсь, заключается в том, что переменная $ emplyee всегда отображается пустой (null):
$ employee = Get-ADuser -Filter {EmployeeID-like "$ ID"} -properties *
Переменная $ employee - это учетная запись Active Directory, которую следует сравнить с текущим $ user в цикле foreach. При устранении неполадок с помощью отладчика из кода VS я обнаружил, что переменная $ employee пуста, поэтому сценарий не может сравнить два объекта. Ниже код, который я использую:
$users = Import-Csv C:\Users\Administrator\Desktop\June18Report_2.csv
foreach ($user in $users) {
$ID = $user.'Employee ID'
$employee = Get-ADUser -Filter {EmployeeID -eq $ID} -Properties *
$lastname = $user.'Last Name'
$samaccountname = $employee.SamAccountName
if ($lastname -ne $employee.surname) {
Write-Host "The last name was changed for $samaccountname" -ForegroundColor Red
get-aduser -Identity $employee.SamAccountName | Set-ADUser -Surname $lastname
} Else {
Write-Host "The last name is correct for $samaccountname" -ForegroundColor Green
}
Любая помощь или советы по этой проблеме будет принята с благодарностью!
Спасибо! - leah_cyberpadawan