Проверьте имя сборки, если оно существует в списке имен - python - PullRequest
0 голосов
/ 22 февраля 2020

Я пытаюсь создать файл cvs, содержащий все необходимые мне поля Active Directory, из 2 внешних файлов. первый файл содержит список пользователей, которых необходимо создать, и некоторую другую информацию, относящуюся к объекту AD

, а второй отчет представляет собой список экспортированных SamAccountName и электронных писем, выгруженных из AD. Поэтому я хочу создать уникальное имя SamAccountName, я формирую свой тестовый SamaAccountName из имени и фамилии первого отчета и хочу сравнить его со вторым отчетом. В настоящее время я храню все данные, полученные во втором отчете, и хочу проверить, что мое сгенерированное имя SamAccountName существует в этом списке

, но пока я не могу сделать это и получаю только CSV с SamAccoutnNames, которые я составил (он не выполняет проверку)

примечание: я не могу использовать любой другой плагин для проверки непосредственно в Active Directory

import csv

def getSamA(fname, lname):
    Sams = []
    sama = lname[0:5] + fname[0:2]

    with open('test-input.txt','r') as AD:
        rows = csv.DictReader(AD)

        for ad in rows:
            Sams.append(ad['SamAccountName'])


    #check if built sama is in list       
    if sama in Sams:

        #if sama in list, add one more character to sama
        sama = lname[0:5] + fname[0:3]
        return sama.lower()
    else:
        return sama.lower()

with open('users.csv') as csv_file:
    rows = csv.DictReader(csv_file)

    with open('users-COI2-Multi.csv', 'w', newline='') as output:
        header = ['FirstName','Initials','LastName','DisplayName','Description','Office','TelePhone','UserLogonName','SamAccountName','JobTitle','Department','Manager','Mobile','faxNumber','Notes','Assistant','employeeID','ex1','ex2','ex3','ex15','Office365License','ExpiresInDays','EmailToUSer','AddToGroup']

        output_file = csv.DictWriter(output, fieldnames=header, delimiter=';')
        output_file.writeheader()

        for data in rows:
            employeeId = data['Associate ID']
            fName = data['First Name']
            lName = data['Last Name']
            Location = data['Location']
            Department = data['Department']
            Manager = data['Manager Name']
            JobTitle = data['Title']

            context = {
                'FirstName' : fName,
                'Initials' : getInitials(fName, lName),
                'LastName' : lName,
                'DisplayName' : getDisplayName(fName, lName),
                'Description' : 'Account for: '+getDisplayName(fName, lName),
                'Office': getOffice(Location).strip(),
                'TelePhone' : '+1 XXX XXX XXXX',
                'UserLogonName' : getMail(fName, lName),
                'SamAccountName' : getSamA(fName, lName),
                'JobTitle' : JobTitle,
                'Department' : Department,
                'Manager' : Manager,
                'Mobile' : '',
                'faxNumber' : '',
                'Notes' : '',
                'Assistant' : '',
                'employeeID' : employeeId,
                'ex1' : 'End User',
                'ex2' : 'NoMailbox',
                'ex3' : getSiteCode(Location),
                'ex15' : getSKID(Location),
                'Office365License' : '',
                'ExpiresInDays' : '',
                'EmailToUSer' : 'user@test.com',
                'AddToGroup' : '',
            }
            output_file.writerow(context)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...