Диплом: Автоматизация типовых задач отдела технической поддержки ООО "Леруа Мерлен Восток"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
95
ЗАКЛЮЧЕНИЕ
В данной дипломной работе был проведен анализ деятельности компании
ООО «Леруа Мерлен Восток». Было показано, что это крупная сетевая компания,
занимающаяся торговлей стройматериалами и инструментами для ремонта на
розничном рынке России и являющаяся частью международного холдинга,
начавшего свою деятельность в начале ХХ века.
Сеть компании состоит из центрального «ядра» с ответвлениями в каждый
магазин. С точки зрения программного обеспечения, инфраструктура основана на
продукции компании Microsoft и представляет из себя централизованный домен
Active Directory, через который работают большинство остальных служб.
Административно компания представляет из себя классическую древовидную
структуру со множеством взаимодействий между ее частями – как горизонтально,
так и вертикально.
Была проанализирована работа отдела поддержки пользователей на
предмет эффективности выполнения обращения пользователей и выявлено
большое количество стандартных заявок, на которые, в сумме, тратится большое
количество времени. В качестве автоматизируемых были выбраны три такие
задачи:
Создание учетной записи и почтового ящика нового сотрудника
Установка нового пароля на учетную запись
Создание общего почтового ящика
Данные задачи, при том, что каждая из них отнимает небольшое количество
времени – до 10 минут, за счет своего количества, в годовом исчислении дают до
2000 затраченных часов работы. При этом, выполняемые действия являются
совершенно стандартными и легко поддаются автоматизации.
Для решения этой задачи был проанализирован рынок имеющихся
программных решений. Были выделены три решения, из которых на основе таких
показателей как стоимость приобретения, предлагаемый функционал, в
частности, возможность расширения новыми функциями в дальнейшем и объем
96
необходимых доработок до требуемого результата, была выбрана пара продуктов
Microsoft System Center Service Manager и Microsoft System Center Orchestrator.
Работая «в связке», эти продукты дают как простой и удобный пользовательский
интерфейс, как возможности интеграции с другими продуктами, так и
возможность для автоматического запуска собственных сценариев, что при
владении языком PowerShell, дает возможность создавать большое количество
разнообразных решений. А так как в компании уже имеется корпоративная
лицензия на продукцию Microsoft, использование этих продуктов не требует
расходов на ее приобретение.
В соответствии с требованиями к указанному ПО, приложения должны
быть установлены на ОС Microsoft Windows Server 2016 и в качестве СУБД
должна использоваться Microsoft SQL Server 2014. Все системы должны быть
развернуты на виртуальных машинах под управлением VMware vSphere.
В качестве стратегии автоматизации выбрана автоматизация по участкам,
так как решение разрабатывается только для небольшого набора задач, стратегия
имеет низкие риски серьезного нарушения имеющихся процессов и не требует
больших расходов на реализацию.
В качестве стандарта жизненного цикла ПО выбран ГОСТ Р ИСО/МЭК
12207-2010 (ISO/IEC 12207:1995) так как он в настоящее время является
основным стандартом, регламентирующим жизненных цикл программного
обеспечения. Была описана структура жизненного цикла, исходя из минимизации
рисков, выбрана стратегия внедрения – «пилотный проект», раскрыты этапы
внедрения и эксплуатации, описаны основные ИТ-риски и способы их
минимизации.
Защита от внешних и внутренних угроз осуществляется разделением прав
доступа в систему, использованием центра сертификации Microsoft Active
Directory Certification Services (PKI), требования к безопасности паролей,
антивирус Kaspersky Endpoint Security 10.
Дано описание информационной модели ИС, описание используемых баз
данных и таблиц в них; описаны получаемые результаты – записи в таблицах БД,
97
записи в файлах журналов и информационные письма.
Показано дерево функций с основными и вспомогательными функциями,
дерево меню пользовательского интерфейса ER-модель базы данных и описание
структуры данных в таблицах, дерево вызова процедур, в блок-схемах показана
организации работы сценариев, дан контрольный пример.
В обосновании экономической эффективности было показано, что
внедрение рассматриваемой системы за год дает снижение трудовых затрат на
67%, а стоимостных – на 66%. При том, что в абсолютных цифрах это 1847
человеко-часов за год и 498 тысяч рублей за год, а автоматизация производится в
рамках одного отдела, это существенное освобождение ресурсов. Низкая цена
внедрения дает также быструю окупаемость проекта – около 2 месяцев.
В качестве перспектив развития можно считать целесообразной
автоматизацию большей части остальных задач отдела технической поддержки,
части более сложных задач в отделе инфраструктуры, после чего, в случае
успешности, расширять использование системы на другие отделы.
98
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. ГОСТ 28147-89. Системы обработки информации. Защита криптографическая.
Алгоритм криптографического преобразования – Введ. 1990-07-01 - М.: Изд-во
стандартов, 1996. – 28 с.
2. ГОСТ 34.601-90. Информационная технология. Комплекс стандартов на
автоматизированные системы. Автоматизированные системы. Стадии создания. –
Введ. 1992-01-01. – М.: Стандартинформ, 2009 – 6 с.
3. ГОСТ Р ИСО/МЭК 12207-2010 (ISO/IEC 12207:1995). - Информационная
технология. Системная и программная инженерия. Процессы жизненного цикла
программных средств. – Введ. 2012-03-01. – М.: Стандартинформ, 2012 – 105 с.
4. Бондарев В. Введение в информационную безопасность автоматизированных
систем. – М.: МГТУ им. Н. Э. Баумана, 2016. – 252 с.
5. Ватаманюк А. Создание, обслуживание и администрирование сетей на 100%. –
М.: Питер, 2010, - 350 с.
6. Гай Я. Microsoft Exchange Server 2013. Полное руководство. – М.: Вильямс,
2014. – 800 с.
7. Джонс Д. Средства автоматизации в Microsoft Windows. М.: Бином, 2006. –
416 с.
8. Коробко И. Администрирование сетей Windows с помощью сценариев. – М.:
БХВ-Петербург, 2007. – 355 с.
9. Краузе Д. Windows Server 2016 Полное руководство. – М.: Packt Publishing,
2016. – 416 с.
10. Лимончелли Т. Тайм-менеджмент для системных администраторов. - Символ-
Плюс, 2007. – 240 с.
11. Лимончелли Т. Хоган К. Страта Ч. Системное и сетевое администрирование.
Практическое руководство. – Символ-Плюс, 2009. – 944 с.
12. Ложников П.С., Михайлов Е. М. Обеспечение безопасности сетевой
инфраструктуры на основе операционных систем Microsoft. Практикум – М.:
Бином. Лаборатория знаний, 2014. – 245 с.
13. Михеев М. Администрирование VMware vSphere 5. – М.: ДМК Пресс, 2016. –
504 с.
99
14. Попов А. Введение в PowerShell. – М.: БХВ-Петербург, 2009. – 464 с.
15. Серогодский В. В., Сурин Д. П., Тихомиров А. П. Microsoft Office 2016 / Office
365. Полное руководство. – М.: Наука и Техника, 2017. – 448 с.
16. Сонмез Д., Путь программиста – М.: Питер, 2016. – 448 с.
17. Стюард Роб, Гудсон Джон. – Практическое руководство по доступу к данным.
– М.: БХВ-Петербург, 2013. – 304 с.
18. Таненбаум Э., Уэзеролл Д. Компьютерные сети. – М.: Питер, 2019. – 960 с.
19. О компании Leroy Merlin [Электронный ресурс] // Леруа Мерлен [Офиц. сайт],
URL: https://leroymerlin.ru/about/ (дата обращения: 21.02.2019).
20. OOO «Леруа Мерлен Восток» [Электронный ресурс] // Коммерсантъ, URL:
https://www.kommersant.ru/doc/3502550/w/leroy-merlin-vostok (дата обращения:
21.02.2019)
21. TRUD.COM [Электронный ресурс] https://russia.trud.com/salary/692/67692.html
(дата обращение: 06.03.2019)
22. TRUD.COM [Электронный ресурс] https://russia.trud.com/salary/692/3306.html
(дата обращение: 08.03.2019)
100
ПРИЛОЖЕНИЯ
Приложение 1
Сравнительные характеристики рассматриваемых решений
Лицензи
рование
Бесплатн
о
$2 за
учетную
запись
$70000 /
год
Возможность
написания
собственных
сценариев
+
+
+
Портал
самообслуживани
я пользователей
+
+
+
Наличие
подключения к
MS
Exchange
+
+
+
Наличие
подключения к
MS Active
Directory
+
+
+
Приложение
MS System
Center Service
Manager /
Orchestrator
One Identity
Active Roles
Micro Focus
Hybrid Cloud
Management
101
Приложение 2
Листинг сценария создания учетной записи и почтового ящика нового
сотрудника
param (
[Parameter(mandatory=$true)]
[string]$last_name,
[Parameter(mandatory=$true)]
[string]$requestor,
[Parameter(mandatory=$true)]
[string]$login,
[Parameter(mandatory=$true)]
[string]$email,
[Parameter(mandatory=$true)]
[string]$first_name,
[Parameter(mandatory=$true)]
[string]$project,
[Parameter(mandatory=$true)]
[string]$password,
[Parameter(mandatory=$true)]
[string]$who_created,
[Parameter(mandatory=$true)]
[string]$expiration_date,
[Parameter(mandatory=$true)]
[string]$incident_num
)
Import-Module ActiveDirectory
Import-Module "$($PSScriptRoot)\utils\logging.ps1"
Import-Module "$($PSScriptRoot)\utils\mailing.ps1"
$json_folder = "$($PSScriptRoot)\static\new_external_user"
$json_file = "$json_folder\new_external_user.json"
$static_data = Get-Content -Path $json_file | ConvertFrom-Json
$ou_tail = $static_data.ou_tail
$contractor = $static_data.contractors | Where-Object {$_.name -eq
$company}
$ou_start = $contractor.ou
$full_ou = "$ou_start,$ou_tail"
$dc = (Get-ADForest).SchemaMaster
$full_ou = "OU=Users,OU=Accounts,OU=\#Services," +
"OU=LMV,DC=leroymerlin,DC=com"
$pwd = ConvertTo-SecureString -AsPlainText $password -Force
$description = "МП (запросил): $requestor " +
"/ Проект: $project / Создал: $who_created"
$new_aduser_props = @{
Name = "$first_name $last_name";
SamAccountName = $($login.Trim());
GivenName = $first_name;
102
Surname = $last_name;
DisplayName = "$first_name $last_name";
Description = $description;
EmailAddress = $email;
UserPrincipalName = "$($login.Trim())@leroymerlin.ru";
AccountPassword = $pwd;
Company = $company;
Enabled = $true;
Path = $full_ou;
Server=$dc;
ChangePasswordAtLogon = $true;
# Path = $ous[$company];
AccountExpirationDate = $expiration_date;
}
try {
new-aduser @new_aduser_props
} catch {
$last_name = $last_name + '_1'
$new_aduser_props.Surname = $last_name
$new_aduser_props.DisplayName = "$first_name $last_name"
$new_aduser_props.Name = "$first_name $last_name"
new-aduser @new_aduser_props
}
# tech block
# log
$message = "New account for $first_name $last_name " +
"($($login.Trim()), $company) created"
$log_props = @{
'actor_full_login' = $who_created;
'message' = $message;
'script_name' = $MyInvocation.MyCommand.Name;
'incident_num' = $incident_num;
}
log @log_props
# mail
$actor_login = $who_created.Replace('RU1000\', '')
$actor_email = (Get-ADUser -Identity $actor_login -Properties
mail).mail
if ($actor_email) {
$recipients = @(
$actor_email;
)
} else {
$recipients = @(
'support@leroymerlin.ru';
)
}
$subject = "Создана учетная запись внешнего сотрудника
$($login.Trim())"
$message_body = "Создана учетная запись для $first_name $last_name " +
"($($login.Trim()), $company)"
103
$body = wrap_body $message_body
$prop_items = @{
To = $recipients;
Subject = $subject;
Body = $body
}
$props = props @prop_items
Send-MailMessage @props
Листинг сценария сброса пароля учетной записи
param (
[Parameter(mandatory=$true)]
[string]$sam_account_name,
[Parameter(mandatory=$true)]
[string]$manager_email,
[Parameter(mandatory=$true)]
[string]$incident_num,
[Parameter(mandatory=$true)]
[string]$who_made_reset
)
Import-Module "$($PSScriptRoot)\utils\logging.ps1"
Import-Module "$($PSScriptRoot)\utils\mailing.ps1"
$shops_ou = 'OU=Shops,OU=Leroy Merlin Vostok,' +
'DC=hq,DC=ru,DC=corp,DC=leroymerlin,DC=com'
$autologon_ou = 'OU=Autologon_Accounts,OU=Shops,OU=Leroy Merlin
Vostok,' +
'DC=hq,DC=ru,DC=corp,DC=leroymerlin,DC=com'
$hq_ou = 'OU=HQ (Shabolovka 31A),OU=Leroy Merlin Vostok,' +
'DC=hq,DC=ru,DC=corp,DC=leroymerlin,DC=com'
$gendir_ou = 'OU=Генеральная дирекция,OU=Departments,OU=HQ (Shabolovka
31A),' +
'OU=Leroy Merlin Vostok,DC=hq,DC=ru,DC=corp,DC=leroymerlin,DC=com'
function random-password {
$digits = 48..57
$lettersUP = 65..72 + 74..78 + 80..90
$lettersLOW = 97..107 + 109..110 + 112..122
$password = $null
$password1 = get-random -count 2 -input ($lettersUP) | %{$aa =
$null; $aa += [char]$_; $password += $aa}
$password2 = get-random -count 3 -input ($lettersLOW) | %{$aa =
$null; $aa += [char]$_; $password += $aa}
$password3 = get-random -count 3 -input ($digits) | %{$aa = $null;
$aa += [char]$_; $password += $aa}
return $password
}
function form_log_msg($account, $initiator, $text, $incident)
104
{
$init_sam = $initiator.ToLower().Replace('ru1000\', '')
$log_msg = ""
$log_msg += "$(Get-Date -Format "yyyy-MM-dd HH:mm:ss")"
$log_msg += " :: "
$log_msg += "Initiated by $((Get-ADUser $init_sam).Name)
($initiator)"
$log_msg += " :: "
$log_msg += $text
$log_msg += " (incident number $incident)"
return $log_msg
}
function legal_user($user) {
$user_dn = $user.DistinguishedName
$inside_shops = $user_dn.EndsWith($shops_ou)
$inside_autologon = $user_dn.EndsWith($autologon_ou)
$inside_hq = $user_dn.EndsWith($hq_ou)
$is_gendir = $user_dn.EndsWith($gendir_ou)
$legal_user = (
($inside_shops -and -not $inside_autologon) -or
($inside_hq -and -not $is_gendir)
)
return $legal_user
}
$dc = (Get-ADForest).SchemaMaster
$log_file = 'C:\scripts\orchestrator\logs\reset_int_user_password.txt'
$username = 'orch-notify'
$pass = ConvertTo-SecureString -AsPlainText '1qaz@WSX' -Force
$creds = New-Object
System.Management.Automation.PSCredential($username, $pass)
$smtpServer = "pruexmail1"
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Credentials = $creds
$msg.From = "900 <900@leroymerlin.ru>"
$msg.ReplyTo = "900@leroymerlin.ru"
$msg.IsBodyHtml = $True
try
{
$user = Get-AdUser -Identity $sam_account_name -ErrorAction Stop
$legal_user = legal_user -user $user
if (-not $legal_user) {
$msg.subject = "Ошибка при сбросе пароля учетной записи в AD
сотрудника Леруа Мерлен (инцидент $incident_num)"
$message_body = "Нет доступа на сброс пароля учетной записи
<b>$sam_account_name</b>!"

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)