У меня есть этот скрипт, который получает всех участников из группы безопасности, а затем извлекает в файл набор их атрибутов. Он работает правильно, за исключением получения адреса электронной почты менеджера. Странно то, что если я запускаю эту команду, чтобы получить адрес электронной почты менеджера непосредственно в PowerShell, он возвращает адрес электронной почты.
Вот весь сценарий:
Get-ADGroupMember -Identity "ACP Users" -Recursive |
Get-ADUser -Property employeeNumber, SN, Manager, GivenName, Name, Office,
Mobile, emailaddress, Department, Title,
samaccountname, officephone, homephone |
select employeeNumber,SN, GivenName,Manager, Office, Mobile,
emailaddress,Department, Title, samaccountname,
officephone,homephone,enabled |
Select-object @{Name='Empno';Expression={$_."employeeNumber"}},
@{Name='EmployeeName';Expression={$_."GivenName" + ' ' + $_."SN"}},
@{N='Manager';E={(Get-ADUser $_.Manager).Name}},
@{N='ManagerSAM';E={(Get-ADUser $_.Manager).samaccountname}},
@{N='ManagerEmail';E={(Get-ADUser(Get-ADUser $._samaccountname -Properties manager).manager -properties mail).mail}},
@{Name='EmployeeEmail';Expression={$_."emailAddress"}},
@{Name='Office';Expression={$_."Office"}},
@{Name='Title';Expression={$_."Title"}},
@{Name='Department';Expression={$_."Department"}},
enabled |
Export-Csv -Path C:\temp\ACP_Uers.csv -NoTypeInformation
Если я запускаю эту часть вручную в PowerShell, она возвращает запись пользователя Active Directory вручную, она работает просто отлично:
(Get-ADUser(Get-ADUser chuck.east -Properties manager).manager -Properties mail).mail
Вывод файла, когда он запускается как весь сценарий, вы можете видеть, что электронная почта для менеджера пуста, но она смогла получить менеджера и его менеджер.
"Empno","EmployeeName","Manager","ManagerSAM","ManagerEmail","EmployeeEmail","Office","Title","Department","enabled"
"8921","Chuck East","Jim Dean","jim.dean",,"Chuck.East@sb.com","East","BSA","IT","True"
Есть идеи, почему он не тянет электронную почту менеджера?