Программа регистрации компьютеров с сети
Задание:
Построить систему для регистрации каждого компьютера в сети корпорации при каждом включении и запрашивать технические характеристики компьютера. Система должна иметь возможность регистрации нового компьютера и пользователя, авторизовать зарегистрированного пользователя и генерировать новый пароль для пользователя.
Содержание
1. Введение
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 4
2. Основная часть . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1. Регистрация компьютера в сети. .
. . . . . . . .................... . . . . . . . . . . 5
2.1.1
Настройка сети…………………………………………
2.1.2 Уточнение полученных сетевых данных ………… ……….5
2.1.3
Обновление сетевых данных……………
2.1.4 Настройка маршрутизации………………………… ……….6
2.2.
Язык программирования С# (C sharp). . . . .
. . . . . . . . . . . . . . . . . . . 6
2.3. Базы данных Microsoft SQL Server .. . . . . . . . .
. . . . . . . . . . . . . . . . . 7
2.4. Аутентификация пользователя. . . . .
. . . . . . . . . . . . . . . . . . . . . 8
2.5. Сбор сведений о компьютерах в сети
. . .. . . . . . . . . . . . . . . . . . . . . 9
2.6. Описание структуры и принципа работы
системы . . . . . . . . . . . 10
2.6.1. Общие сведения . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 10
2.6.2. Процесс аутентификаций . . . . . . . . .
. . . . . . . . . . . . . . . . . 10
2.6.3. Создания Базы данных MS SQL Server 2005 11
2.6.4. Cбор информации о состоянии компьютера
11
3. Заключение . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 13
4. Список литературы....................
5. Приложение А . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ….. . . . 15
Введение
Службы терминалов обеспечивают удаленный доступ к рабочему столу ОС Windows Server посредством программного обеспечения, позволяющего компьютеру клиента работать в качестве эмулятора терминала. Сервер терминалов передает клиенту только пользовательский интерфейс программы. Затем клиент возвращает нажатия клавиш клавиатуры и кнопок мыши для выполнения на сервере. При входе каждый клиент видит только свои сеансы, которые явно управляются операционной системой сервера и являются независимыми от сеансов других пользователей. Программное обеспечение клиента может быть запущено на различных устройствах клиента, включая компьютеры и терминалы Windows.
Сервер терминалов предоставляет эффективный и надежный способ распространения программ для Windows с помощью сервера сети. При использовании сервера терминалов одна точка установки позволяет нескольким пользователям получить доступ к рабочему столу сервера. Пользователи могут запускать программы, сохранять файлы и использовать сетевые ресурсы, как если бы они работали за своим компьютером.
Основная часть
2.1 Регистрация компьютера в сети
2.1.1 Настройка сети
Для правильной настройки сети проделайте, пожалуйста, следующие операции:
- Пуск -> Настройки -> Панель управления -> Сетевые подключения
- Контекстное меню сетевого подключения (кликнуть правой кнопкой мыши) -> Свойства
- Интернет протокол (TCP/IP) -> Свойства
- Установить переключатель на «Получить IP-адрес автоматически» и «Получить адрес DNS-сервера автоматически».
- После настройки сети перезагрузите компьютер.
Внимание! Прочтите более подробную инструкцию по настройке сети.
2.1.2 Уточнение полученных сетевых данных
После того, как Вы перезагрузите компьютер после перенастройки, необходимо выяснить какой Вам был присвоен IP-адрес. Для этого проделайте следующие операции:
- Пуск -> Выполнить -> cmd (ввести команду).
- В черном окне введите команду ipconfig.
Примечание. В поле «IP-адрес» будет указан IP-адрес, который был выдан Вам сервером. Если выданный адрес имеет вид *.*.213.* (например, 10.1.213.8), то это означает, что IP- и MAC-адрес вашего компьютера не зарегистрированы на сервере МАН сети. В таком случае, Вам необходимо проделать обновление Ваших сетевых параметров. Если же выданный адрес не соответствует указанной выше маске, значит, Ваши сетевые данные корректно зарегистрированы.
2.1.3 Обновление сетевых данных
Процесс обновления сетевых данных проводится по рекомендации службы технической поддержки, а так же в том случае, если Ваш компьютер получает IP-адрес, удовлетворяющий маске *.*.213.* при условии отсутствия финансовой задолжности.
Для обновления сетевых параметров необходимо перейти на страницу регистрации абонентов.
Нажмите
на кнопку «Обновление данных регистрации».
В появившемся окне необходимо ввести
ваш логин с паролем.
(Внимание! Если вы не знаете Ваш логин
с паролем, необходимо позвонить в офис
по тел. 40-20-00 и узнать все необходимые
данные.)
После того, как Вы введете логин с паролем, откроется страница, внизу которой необходимо ввести Физический адрес (MAC-адрес) своего компьютера.
Как узнать Физический адрес (MAC-адрес):
- Нажмите на кнопку "Пуск" - далее: "Выполнить" и в появившемся окне наберите cmd - в результате должно открыться чёрное окошко, так называемая "командная строка".
- Наберите в командной строке команду ipconfig /all и найдите раздел "Подключение по локальной сети".
- Внимательно введите физический адрес в специальное поле на странице регистрации и нажмите на кнопку "Обновить"
- Подождите, пока откроется страница с подтверждением об успешном обновлении данных.
- Если обновить данные не удалось, рекомендуем вам позвонить в службу тех.поддержки: 8 920 30-23-000.
Внимание! После успешного обновления сетевых данных, необходимо перезагрузить компьютер.
2.1.4 Настройка маршрутизации
Для корректной
работы всех ресурсов сети, необходимо
настроить статическую
2.2 Язык программирования С# (C sharp)
C# (произносится си
C#
относится к семье языков с C-
Переняв
многое от своих предшественников —
языков C++, Java, Delphi, Модула и Smallta
2.3 Базы данных Microsoft SQL Server
Microsoft SQL Server — система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка.
Сервер
баз данных Microsoft SQL Server в качестве языка
запросов использует версию языка SQL,
получившую название Transact-SQL (
При взаимодействии с сетью Microsoft SQL Server и Sybase ASE используют протокол уровня приложения под названием Tabular Data Stream (TDS, протокол передачи табличных данных). Протокол TDS также был реализован в проекте FreeTDS с целью обеспечить различным приложениям возможность взаимодействия с базами данных Microsoft SQL Server и Sybase.
Для обеспечения доступа к данным Microsoft SQL Server поддерживает Open Database Connectivity (ODBC) — интерфейс взаимодействия приложений с СУБД. Версия SQL Server 2005 обеспечивает возможность подключения пользователей через веб-сервисы, использующие протокол SOAP. Это позволяет клиентским программам, не предназначенным для Windows, кроссплатформенно соединяться с SQL Server. Компания Microsoft также выпустила сертифицированный драйвер JDBC, позволяющий приложениям под управлением Java (таким как BEA и IBM WebSphere) соединяться с Microsoft SQL Server 2000 и 2005.
Также SQL Server поддерживает зеркалирование и кластеризацию баз данных. Кластер сервера SQL — это совокупность одинаково конфигурированных серверов; такая схема помогает распределить рабочую нагрузку между несколькими серверами. Все сервера имеют одно виртуальное имя, и данные распределяются по IP-адресам машин кластера в течение рабочего цикла. Также в случае отказа или сбоя на одном из серверов кластера доступен автоматический перенос нагрузки на другой сервер.
SQL Server поддерживает избыточное дублирование данных по трем сценариям:
- Снимок: Производится «снимок» базы данных, который сервер отправляет получателям.
- История изменений: Все изменения базы данных непрерывно передаются пользователям.
- Синхронизация с другими серверами: Базы данных нескольких серверов синхронизируются между собой. Изменения всех баз данных происходят независимо друг от друга на каждом сервере, а при синхронизации происходит сверка данных. Данный тип дублирования предусматривает возможность разрешения противоречий между БД.
В SQL Server 2005 встроена поддержка .NET Framework. Благодаря этому хранимые процедуры БД могут быть написаны на любом языке платформы .NET, используя полный набор библиотек, доступных для .NET Framework, включая Common Type System (система обращения с типами данных в Microsoft .NET Framework). Однако, в отличие от других процессов, .NET Framework, будучи базисной системой для SQL Server 2005, выделяет дополнительную память и выстраивает средства управления SQL Server вместо того, чтобы использовать встроенные средства Windows. Это повышает производительность в сравнении с общими алгоритмами Windows, так как алгоритмы распределения ресурсов специально настроены для использования в структурах SQL Server
2.4 Аутентификация пользователя
Один
из способов аутентификации в компьютерной
системе состоит во вводе вашего
пользовательского
На компьютерах с ОС семейства UNIX, базой является файл /etc/master.passwd (в дистрибутивах Linux обычно файл /etc/shadow, доступный для чтения только root), в котором пароли пользователей хранятся в виде хеш функций от открытых паролей, кроме этого в этом же файле хранится информация о правах пользователя. Изначально в Unix-системах пароль (в зашифрованном виде) хранился в файле /etc/passwd, доступном для чтения всем пользователям, что было небезопасно.
На
компьютерах с операционной системой
Windows NT/2000/XP/2003 (не входящих в домен Windows)
такая база данных называется SAM (Security Account Manager — Диспетчер защиты
учётных записей). База SAM хранит учётные записи пользователей, включающие
в себя все данные, необходимые системе
защиты для функционирования. Находится
в директории %windir%\system32\
В доменах Windows Server 2000/2003 такой базой является Active Directory.
Однако более надёжным способом хранения аутентификационных данных признано использование специальных аппаратных средств (компонентов).
При
необходимости обеспечения
2.5 Сбор сведений о компьютерах в сети
Для
сбора информации используется система
интеллектуального агента. В компьютерной науке интеллектуальный
агент — программа, самостоятельно выполняющая
задание, указанное пользователем компьютера, в течение длительных
промежутков времени. Интеллектуальные
агенты используются для содействия оператору
или сбора информации. Одним из примеров
заданий, выполняемых агентами, может
служить задача постоянного поиска и сбора
необходимой информации в Интер
В искусственном интеллекте, под термином интеллектуальный
агент понимаются разумные сущности,
наблюдающие за окружающей средой и действующие
в ней, при этом их поведение рационально
в том смысле, что они способны к пониманию
и их действия всегда направлены на достижение
какой-либо цели. Такой агент может быть
как роботом, так и встроенной программной
системой. Об интеллектуальности агента
можно говорить, если он взаимодействует
с окружающей средой примерно так же, как
действовал бы человек.
2.6 Описание структуры и принципа работы системы
2.6.1. Общие сведения
Система классов играет важную роль в современных языках программирования. Как же они реализованы в новом языке C#, созданном корпорацией Microsoft, и зачем нужно изучать С#?
Ответы на эти вопросы зависят от того, как вы собираетесь работать дальше. Если вы хотите создавать приложения для платформы .NET, то вам, скорее всего, не удастся избежать изучения C#. Конечно, можно использовать и Си++, и Visual Basic или любой язык программирования, тем более что независимыми разработчиками создаются трансляторы с APL, Кобола, Eiffel, Haskell, Оберона, Smalltalk, Perl, Python, Паскаля и др. Однако для компилятора, способного генерировать приложения среды .NET CLR (Common Language Runtime), только C# является «родным» языком. Он полностью соответствует идеологии .NET и позволяет наиболее продуктивно работать в среде CLR. В свое время для использования виртуальной машины Java было создано множество так называемых «переходников» (bridges) c различных языков программирования, в частности PERCobol, JPython, Eiffel-to-JavaVM System, Tcl/Java и т.д.
Все с чем в работаете в .net -это обертки над API. Только некоторые вы пишете сами, а некоторые уже написаны и включены во Framework. То есть, нам нужно будет только функцию по регистрации и указать сетевой путь, а также указать Базу данных где будет сохраняться информация.
2.6.2 Процесс аутентификаций
Процесс аутентификаций состоит из двух частей. Первое, процесс проверки авторизованности по ip адресу клиента. Второе, процесс авторизаций путем ввода логина и пароля.
После прохождения пользователем процедуры авторизации, дальнейшую работу с API можно осуществлять посредствам специального ключа (access_token). Запросы нужно будет отправлять в Базу данных для проверки существование пользователя.
Факт того что определенный пользователь прошел авторизацию определяется по трем критериям:
- IP адрес пользователя должен быть в базе данных о пользователях;
- Этот же пользователь должен иметь переменную Framework равным 1;
- Время с последнего обновления не должно превышать 24 часа.
В случае если одно из трех критерий не выполняется то пользователь считается не авторизованным. А данные о IP удаляются, а время обновления и переменная Framework обнуляются, в том случае если они есть в базе данных.
Также
эти логин и пароль используются,
если пользователь захочет получить
полную информацию о состоянии компютера.
2.6.3 Создания Базы данных MS SQL Server 2005
Чтобы создать БД DataDetective на Microsoft® SQL Server 2005, необходимо запустить утилиту Microsoft SQL Server Management Studio из поставки SQL сервера.
SQL скрипт для создания БД в MS SQL находится в каталоге <PI>\dbscripts\mssql, файл pi_ent_mssql2005.sql, где <PI> - каталог в котором установлен ProxyInspector. По умолчанию БД будет иметь имя PI_ISA, если вам нужно другое имя необходимо заменить все вхождения строки 'PI_ISA' на другое допустимое имя БД. После того как скрипт открыт и, если нужно, отредактирован, необходимо выполнить команду Query | Execute (F5) чтобы создать БД. При создании будет использована таблица символов и каталог по умолчанию из настроек сервера.
SQL Express 2005: В качестве имени сервера БД нужно указать ИМЯ_КОМПЬЮТЕРА\SQLEXPRESS
После
этого на странице База данных настроек также
нужно выбрать Доступ через ADO, нажать
OK и перезапустить MailDetective. После чего
выбрать База данных | Соединить для
подключения к БД.
2.6.4 Cбор информации о состоянии компьютера
Первым
этапом разработки будет написание
сборщика информации с компьютеров
на языке C# в IDE SharpDeveloper. Пока я копался
в интернете с вопросом как
же можно из системы получить информацию
о ней, то пришел к выводу, что информации
на эту тему довольно мало, что было неожиданно.
В основном натыкался на скрипты на VB и
просьбы других программистов перевести
их на C#, а в MSDN и вовсе довольно скудная
информация. Я надеюсь, собранные здесь
исходники кому-то помогут в написании
программы.
Собирать информацию я буду с помощью
инструмента WMI. WMI является очень мощным
инструментом и может предоставлять информацию
о системе, причем неважно локальной или
удаленной. WMI запросы, как правило, открыты
в сети, если у вас есть привилегии необходимые
для запроса. И хотя в WMI удаленные запросы
просты, разработчикам они нравятся и
по другой причине: WQL.
WQL позволяет составлять запросы WMI с использованием
SQL-подобного языка запросов. Если вы знаете
названия доступных полей, то можете получить
информацию очень легко. Например, если
вы хотите получить список логических
дисков из системы можно использовать
следующий запрос:
Select * from Win32_LogicalDisk
Можно, однако,
уточнить поиск с помощью конкретных «полей»
в запросе. Следующий запрос вернет свободное
место, размер и имя всех фиксированных
дисков:
Select FreeSpace,Size,Name from Win32_LogicalDisk where DriveType=3
Заключение
Во время прохождения эксплуатационной практики в Главном компьютерном центре корпорации «Казахмыс» я приобрел неоценимый опыт в сфере разработки программ для обслуживания пользователей и по их настройкам. Мне было очень интересно практиковаться в этой среде. Я обозначил для себя много чего, о современных методов разработки программ и отметил себе какие пункты программирование надо изучить по глубже
Создать качественный корпоративную программу – не простая задача, необходимо учесть множество тонкостей, определиться с выбором технологий, обозначить цели и задачи программы, которые обычно сводятся к стандартному набору: необходимость расширенного представления информации для пользователей, публичное представление собственной продукции и услуг, наконец для более удобного и мобильного общения с клиентами, и конечно же современный корпоративная программа должна учитывать требования времени и соответствовать самым последним стандартам.
СПИСОК ЛИТЕРАТУРЫ
- Либерти Д. Программирование на C# Символ-Плюс, 2003. 688 с
- Майо Дж. C#. Искусство программирования ДиаСофт, 2002. 656 с
- Микелсен К. Язык программирования C#. ДиаСофт, 2002. 656 с
- Петзольд Ч. Программирование для Microsoft Windows на С#. В 2 томах М.: Русская редакция, 2002
- Петзольд
Ч. Программирование
в тональности С#
М.: Русская редакция, 2004. 512 с
ПРИЛОЖЕНИЕ A
1) connect.xml
<?xml version="1.0" encoding="utf-8" ?>
<conn>
<connect constr="Data Source=aa0c052;Initial Catalog=RegComp_new;Persist Security Info=True;User ID=sa;Password=123456;">
</connect>
<connect constr="Data Source=aa0c052;Initial Catalog=RegComp_new;Persist Security Info=True;User ID=sa;Password=123456;">
</connect>
</conn>