Задать вопрос
@Nadudeigrec

Как из AD с локальной машины получить логин и почту пользователя зная его полное ФИО?

Имеется текстовый файл со списком ФИО, локальный ПК. Нужно из AD получить список ФИО, логин, почта и выгрузить в файл. Можно ли это сделать на питоне?(только начал изучать основы).

Нашел вот такой скрипт на просторах интернета.К сожалению скрипт без комментариев. Подойдет ли он для этого? как в него добавить фильтр по ФИО из файла?

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = "LDAP://cn=Users,dc=test,dc=ru"
$objSearcher.Filter = "(&(objectCategory=person)(!userAccountControl:1.2.840.113556.1.4.803:=2))"
$users = $objSearcher.FindAll()
# Количество учетных записей
$users.Count
$users | ForEach-Object {
$user = $_.Properties
New-Object PsObject -Property @{
Должность = [string]$user.description
Отдел = [string]$user.department
Логин = [string]$user.userprincipalname
Телефон = [string]$user.telephonenumber
Комната = [string]$user.physicaldeliveryofficename
ФИО = [string]$user.cn
}
} | Export-Csv -NoClobber -Encoding utf8 -Path "c:\ist_users.csv"
  • Вопрос задан
  • 1623 просмотра
Подписаться 1 Простой 5 комментариев
Пригласить эксперта
Ответы на вопрос 1
@Nadudeigrec Автор вопроса
Вот такой скрипт запускаю. В строке LDAP замазал информацию.
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = "LDAP://cn=Users,OU= ,OU=Moscow,OU=Regions,DC=,DC=,DC=com"
$objSearcher.Filter = "(&(objectCategory=person)(!userAccountControl:1.2.840.113556.1.4.803:=2))"

$usersList = Import-Csv D:\test\FIOlist.csv -Header DisplayName

ForEach ($userName in $userslist) {
Get-ADUser -Filter { displayName -like $userName } | Select samAccountName, email, displayname > D:\test\export1.csv}

D:\test> .\script.ps1
Выдает:
Имя "Get-ADUser" не распознано как имя командлета, функции, файла скрипта или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попытку.
D:\test\script.ps1:9 знак:11
+ Get-ADUser <<<< -Filter { displayName -like $userName } | Select samAccountName, email, displayname > D:\test\export1.csv}
+ CategoryInfo : ObjectNotFound: (Get-ADUser:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

В чем проблема?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы