Главная сайта | Форум | Фотоальбом | Регистрация   | Вход | Cайт в избранное | Правила сайта и форума

Приветствую Вас Гость | RSS


Фильмы | Онлайн Видео | Софт | Новости и Статьи | Игры онлайн | Фотоальбом | Форум

ДЛЯ ПРОСМОТРА САЙТА РЕКОМЕНДУЕТСЯ ИСПОЛЬЗОВАТЬ:  Uran - браузер от uCoz на базе проекта Chromium. | Google ChromeOpera | Firefox 


МЕНЮ САЙТА

ПОИСК ПО САЙТУ

Gamesblender № 661: будущее Xbox, новая игра авторов Ori, «неправильная» Subnautica 2 и прощание с Dead Cells

Gamesblender № 660: «портативки» от Sony и Microsoft, эксклюзивы Xbox на PlayStation, сделка Epic и Disney и показ Final Fantasy VII Rebirth

Tekken 8: 10 аниме из 10

Gamesblender № 659: Death Stranding 2 и другие показы State of Play, новый президент Blizzard, отмена Deus Ex и перенос «Смуты»

Gamesblender № 657: дата выхода S.T.A.L.K.E.R. 2, «Индиана Джонс» от авторов Wolfenstein, закрытие Piranha Bytes, Larian против подписок

Gamesblender № 656: ремастер Half-Life 2, сиквел Cyberpunk 2077 и новый конкурент Steam Deck

Gamesblender № 654: главные события 2023 года в игровой индустрии

Будущее Starfield, фанаты The Day Before, Spider-Man 2 и Wolverine на PC! Новости игр ALL IN 21.12

Обзор Warhammer 40000: Rogue Trader

Видеообзор Avatar: Frontiers of Pandora

Игромания! ИГРОВЫЕ НОВОСТИ, 19 августа (CoD: MW, NfS, Метро, Saints Row, Splinter Cell, Greedfall)

Игромания! ИГРОВЫЕ НОВОСТИ, 16 сентября (Death Stranding, Final Fantasy VII, Project Resistance)

В чём уникальность озвучки Battlefield 1?

Во что поиграть на этой неделе — 8 ноября + Лучшие скидки на игры

Игромания! ИГРОВЫЕ НОВОСТИ, 19 февраля (Spyro, Gears Of War 5, THQ Nordic, Rainbow Six Siege)

Во что поиграть на этой неделе — 23 ноября + Лучшие скидки на игры

Left 2 Play - Выпуск 02 - Left 4 Dead (комментарии)

Игромания! Игровые новости, 19 декабря (Doom 4, Minecraft, Enlisted, Тодд Говард)
СТАТИСТИКА
Всего материалов:
Фильмомания: 1510
Видео: 220
Каталог файлов: 98
Каталог статей: 6781
Фотоальбом: 1236
Форум: 1137/8112
Каталог сайтов: 386

Всего зарегистрировано:
Зарегистрировано: 1677
Сегодня: 0
Вчера: 0
За неделю: 1
За месяц: 14

Из них:
Пользователи: 1602
Проверенные: 23
Друзья: 5
Редакторы: 0
Журналисты: 8
В вечном бане: 33
Модераторы: 1
Администраторы: 3

Из них:
Парней 1265
Девушек 410


ON-Line всего: 1
Гостей: 1
Пользователей: 0

Сейчас на сайте:


Кто был?
mistofyourdeath,
День Рождения у: danbdan(43)
ВЫ МОЖЕТЕ ОКАЗАТЬ ПОДДЕРЖКУ ЗА ТРУДЫ, ПОЖЕРТВОВАВ ЛЮБУЮ СУММЫ.

WEBMONEY



Категории каталога

Главная » Статьи » Статьи » Статьи: Windows 7

Установка Windows 7 - часть 22: Массовое заполнение базы MDT с помощью PowerShell

В предыдущей части этого цикла мы рассмотрели, как настраивать и использовать базу данных MDT для установки Lite Touch. Например, в 16 части мы посмотрели, как использовать Deployment Workbench для добавления новых целевых компьютеров в базу, чтобы можно было изменять установку Windows 7 на основе MAC адреса или UUID каждого целевого компьютера. Делать это вручную в Deployment Workbench будет не очень сложно, однако, что, если у вас есть десятки сотен компьютеров, которые вы хотите добавить в базу данных?

Именно здесь на помощь может прийти Windows PowerShell, поскольку она позволяет писать сценарии для автоматизации утомительных задач. Хотя MDT 2010 теперь включает встроенную PowerShell поддержку, он не включает команды для работы с базой данных MDT. Но Майкл Нихаус (Michael Niehaus), разработчик MDT, создал отдельный PowerShell модуль, который вы можете использовать для добавления поддержки PowerShell для работы с базой данных MDT. В этой статье мы посмотрим, как импортировать этот модуль и использовать PowerShell для того, чтобы брать таблицы с информацией о целевых компьютерах и массово импортировать эту информацию в MDT базу данных в качестве новых элементов компьютеров.

Примечание: эта статья предполагает, что вы новичок в PowerShell с минимальным предварительным опытом работы написания сценариев PowerShell, и с небольшим опытом в программировании.

Установка модуля PowerShell для MDT

Начинаем с загрузки архивного файла модуля PowerShell под названием MDTDB.zip отсюда. Нажимаем правой клавишей на загруженном файле, выбираем опцию Свойства (Properties) и выбираем Разблокировать (Unblock). Затем разархивируем файл MDTDB.psm1 сценария и копируем его в папку (в этом примере в папку C:\Scripts) на вашем MDT сервере.

Теперь открываем командную оболочку PowerShell и вводим Get-ExecutionPolicy, чтобы отобразить текущую политику выполнения на вашем сервере (дополнительную информацию смотрите здесь):

Рисунок 1: Просмотр текущей политики выполнения

Рисунок 1: Просмотр текущей политики выполнения

Если текущая политика выполнения Ограничена (Restricted), сценарий MDTDB.psm1 не запуститься, поэтому используем команду Set-ExecutionPolicy Unrestricted, чтобы изменить состояние политики выполнения на Неограниченная (Unrestricted) следующим образом:

Рисунок 2: Изменение политики выполнения на неограниченную.

Рисунок 2: Изменение политики выполнения на неограниченную.

Теперь вводим Import-Module 'name C:\Scripts\MDTDB.psm1, чтобы добавить MDT PowerShell модуль в текущий сеанс PowerShell, как показано здесь:

Рисунок 3: Импортирование MDT PowerShell модуля.

Рисунок 3: Импортирование MDT PowerShell модуля.

Обратите внимание, что результат выполнения команды Import-Module выдает список всех новых команд PowerShell, которые теперь доступны нам для работы с базой MDT. Например, на рисунке выше показана команда New-MDTComputer, которую мы будем использовать позже в этой статье для добавления новых компьютеров в базу данных.

Чтобы убедиться, что модуль был импортирован, введите Get-Module, как показано здесь:

Рисунок 4: Проверка того, что модуль импортирован

Рисунок 4: Проверка того, что модуль импортирован

Подключение к базе данных MDT

Теперь нам нужно подключить наш сеанс PowerShell к базе MDT. Для этого мы воспользуемся командой Connect-MDTDatabase. Чтобы посмотреть синтаксис этой команды, введите Get-Help Connect-MDTDatabase, как показано здесь:

Рисунок 5: Просмотр синтаксиса команды Connect-MDTDatabase

Рисунок 5: Просмотр синтаксиса команды Connect-MDTDatabase

Подсказка: можно также найти дополнительную информацию об использовании этой команды в этом посте.

Для подключения к базе MDT под названием MDT на сервере SQL Server с именем SQLEXPRESS, установленном на сервере MDT под названием SEA-MDT-01, введите следующую команду:

Connect-MDTDatabase 'sqlServer SEA-MDT-01 'instance SQLEXPRESS 'database MDT

Рисунок 6: Подключение к MDT базе данных

Рисунок 6: Подключение к MDT базе данных

Работа с элементами компьютера

Давайте начнем с проверки того, есть ли в нашей MDT базе записи компьютеров. Для этого мы воспользуемся командой Get-MDTComputer, поэтому давайте используем Get-Help для просмотра синтаксиса этой команды:

Рисунок 7: Просмотр синтаксиса команды Get-MDTComputer

Рисунок 7: Просмотр синтаксиса команды Get-MDTComputer

Чтобы вывести список всех существующих элементов компьютеров в базе данных, просто вводим команду Get-MDTComputer следующим образом:

Рисунок 8: Список компьютеров в базе MDT

Рисунок 8: Список компьютеров в базе MDT

Команда Get-MDTComputer показывает, что в нашей базе есть один элемент компьютера, и что этот компьютер имеет MAC адрес EE:EE:EE:FF:FF:FF и ID номер 2. ID номер – это ключевое поле для компьютерных элементов. Другими словами, каждый компьютер в базе будет иметь уникальный ID номер.

Если мы откроем Deployment Workbench, мы увидим этот компьютер:

Рисунок 9: Просмотр записи компьютера с помощью Workbench

Рисунок 9: Просмотр записи компьютера с помощью Workbench

Мы могли бы удалить эту запись компьютера с помощью Workbench, но давайте сделаем это в PowerShell. При необходимости введите Get-Help Remove-MDTComputer, чтобы посмотреть синтаксис команды удаления компьютеров, затем введите Remove-MDTComputer 'id 2 'verbose, чтобы удалить элемент компьютера и отобразить подробности операции:

Рисунок 10: Удаление элемента компьютера из базы данных

Рисунок 10: Удаление элемента компьютера из базы данных

Импорт компьютеров в базу данных

Теперь давайте массово импортируем несколько компьютеров в базу данных. Начнем с создания таблицы Excel с несколькими столбцами для имен, UUID, MAC адресов и прочих свойств этих компьютеров. Каждая строка таблицы будет соответствовать одному компьютеру. Для этого примера я создал таблицу с несколькими компьютерами в моей тестовой среде:

Рисунок 11: Создание таблицы для целевых компьютеров

Рисунок 11: Создание таблицы для целевых компьютеров

Теперь экспортируем эту таблицу в формат текстового файла CSV (под названием C:\Data\machines.txt), который можно будет открыть в блокноте для просмотра:

Рисунок 12: CSV файл для целевых компьютеров

Рисунок 12: CSV файл для целевых компьютеров

Затем используем команду Import-Csv cmdlet для импортирования CSV файла и назначения ему переменной $machines следующим образом:

$machines = Import-Csv C:\Data\machines.txt

Рисунок 13: Импортирование CSV файла в переменную

Рисунок 13: Импортирование CSV файла в переменную

Ввод $machines отображает импортированную информацию, которая храниться в виде массива:

Рисунок 14: Информация о компьютерах храниться в виде массива

Рисунок 14: Информация о компьютерах храниться в виде массива

Можно ввести $machines.count, чтобы отобразить количество элементов в массиве:

Рисунок 15: Этот массив содержит 3 элемента по одному для каждого компьютера

Рисунок 15: Этот массив содержит 3 элемента по одному для каждого компьютера

Чтобы отобразить первый элемент массива, можно ввести $machines[0] следующим образом:

Рисунок 16: Отображение первого элемента массива

Рисунок 16: Отображение первого элемента массива

Как видно из рисунка выше, первый элемент массива содержит информацию о первом компьютере. Для отображения только имени этого компьютера, введите $machines[0].name следующим образом:

Рисунок 17: Отображение имени первого компьютера

Рисунок 17: Отображение имени первого компьютера

Добавление импортированных компьютеров в базу данных

Теперь, когда мы немного знаем о работе с массивом, мы можем импортировать информацию, хранящуюся в $machines переменной массива, в нашу MDT базу. Для этого мы будем использовать команду New-MDTComputer, поэтому давайте рассмотрим синтаксис этой команды:

Рисунок 18: Просмотр синтаксиса команды New-MDTComputer

Рисунок 18: Просмотр синтаксиса команды New-MDTComputer

Вы должны помнить из 16 части, что элементы компьютера должны иметь уникальные идентификаторы в базе данных в одном или нескольких следующих полях:

  • Universally Unique Identifier (UUID)
  • Asset tag (номер ярлыка)
  • Serial number (серийный номер)
  • MAC address (физический адрес)

Давайте добавим элемент компьютера для нашего первого компьютера в таблице, используя MAC адреса в качестве идентификатора. Для этого вводим следующую команду:

New-MDTComputer 'macAddress $machines[0].mac 'settings @{OSInstall='YES'}

Рисунок 19: Добавление первого компьютера в базу данных с помощью его MAC адреса в качестве идентификатора

Рисунок 19: Добавление первого компьютера в базу данных с помощью его MAC адреса в качестве идентификатора

Закрываем и снова открываем Workbench для ее обновления, после чего у нас должен появиться новый элемент компьютера:

Рисунок 20: Новый элемент компьютера добавлен в базу данных

Рисунок 20: Новый элемент компьютера добавлен в базу данных

Если дважды нажать на этом элементе компьютера, можно посмотреть его свойства:

Рисунок 21: Свойства нового элемента компьютера

Рисунок 21: Свойства нового элемента компьютера

Переход в закладку Подробно (Details) покажет, что OSinstall свойство установлено на YES, как и ожидалось:

Рисунок 22: Подробные свойства нового элемента компьютера

Рисунок 22: Подробные свойства нового элемента компьютера

Однако обратите внимание на рисунке выше, что OSDComputerName свойство нового элемента компьютера не имеет назначенного для него значения. Свойство OSDComptuerName указывает имя, которое MDT назначит целевой машине, и если вы еще раз посмотрите на рисунок 11, вы увидите, что мы хотели установить это свойство на DESK-A для данной машины.

Давайте посмотрим, как добавлять новый компьютер в базу данных с указанием имени компьютера. Чтобы посмотреть, как это делается, давайте добавим элемент компьютера для второй машины в нашу таблицу, используя ее MAC адрес в качестве идентификатора, а также укажем имя компьютера (которым, как показано на рисунке 11, будет DESK-B). Для этого мы вводим следующую команду:

New-MDTComputer 'macAddress $machines[1].mac 'settings @{OSInstall='YES';OSDComputerName=$machines[1].name}

Рисунок 23: Добавление второго компьютера в базу данных с использованием его MAC адреса в качестве идентификатора и указанием его имени

Рисунок 23: Добавление второго компьютера в базу данных с использованием его MAC адреса в качестве идентификатора и указанием его имени

Если вы закроете и снова откроете Workbench, откроете свойства нового компьютера и выберите закладку подробностей (Details), вы увидите, что в этот раз свойство OSDComputerName, как и ожидалось, имеет значение DESK-B:

Рисунок 24: Подробные свойства нового элемента компьютера

Рисунок 24: Подробные свойства нового элемента компьютера

Давайте попробуем еще один пример и добавим элемент компьютера для третьей машины в нашу таблицу, используя MAC адрес в качестве идентификатора и указав имя этого компьютера, название организации и полное имя пользователя. Для этого вводим одну команду PowerShell, но дополняем ее несколькими строками, чтобы было удобнее ее читать:

New-MDTComputer 'macAddress $machines[2].mac 'settings @{

OSInstall='YES';

OSDComputerName=$machines[2].name;

FullName='Michael Allen';

OrgName='Contoso Ltd.'}

Рисунок 25: Добавление третьего компьютера в базу данных с указанием нескольких свойств

Рисунок 25: Добавление третьего компьютера в базу данных с указанием нескольких свойств

Обратите внимание, что в PowerShell вам не обязательно указывать какие-то специальные символы командной строки, если команда делится на строки в массиве, и это указано фигурными скобками.

Закройте и снова откройте Workbench, откройте свойства нового компьютера и выберите закладку подробностей, чтобы увидеть настроенные свойства:

Рисунок 26: Подробные свойства нового элемента компьютера

Рисунок 26: Подробные свойства нового элемента компьютера

Массовое создание элементов компьютеров в базе данных

Теперь мы знаем, как использовать одну PowerShell команду для создания нового элемента компьютера в базе MDT и настройки свойств этого элемента. Теперь давайте посмотрим, как использовать командный сценарий для автоматизации этого процесса, чтобы можно было массово создавать несколько компьютеров в базе данных в один шаг.

Сначала, вместо ввода отдельных команд для создания каждого компьютера в базе данных, давайте воспользуемся петлей For, чтобы осуществить повтор для элементов массива $machines следующим образом:

For ($i=1; $i -le $machines.count; $i++) { New-MDTComputer -macAddress $machines[$i-1].mac -settings @{ OSInstall='YES'; OSDComputerName=$machines[$i-1].name;} }

Рисунок 27: Использование петли For для добавления компьютеров в базу данных

Рисунок 27: Использование петли For для добавления компьютеров в базу данных

Обратите внимание, что петля не выполняется до тех пор, пока вы закончите ввод закрывающейся скобкой ' вам не нужно использовать никаких знаков продолжения строки, как в сценариях VBScript.

Результат выполнения этой команды можно посмотреть, открыв Workbench:

Рисунок 28: Три элемента компьютера были созданы с помощью одной команды

Рисунок 28: Три элемента компьютера были созданы с помощью одной команды

Теперь давайте преобразуем все это в командный сценарий, который выполнит следующие задачи:

  • установит модуль MDT PowerShell
  • подключится к базе данных MDT
  • импортирует CSV файл с информацией о целевых компьютерах
  • создаст элементы компьютеров в базе данных, включая имена компьютеров и названия организации Contoso Ltd.

Для этого вводим следующий PowerShell сценарий в блокнот:

Import-Module 'name C:\Scripts\MDTDB.psm1

Connect-MDTDatabase 'sqlServer SEA-MDT-01 'instance SQLEXPRESS 'database MDT

$machines = Import-Csv C;\Data\machines.txt

For ($i=1; $i -le $machines.count; $i++)

{

New-MDTComputer -macAddress $machines[$i-1].mac -settings @{

OSInstall='YES';

OSDComputerName=$machines[$i-1].name;

OrgName='Contoso Ltd.'

}

}

Теперь сохраняем этот текстовый файл в формате Create.ps1, поскольку PowerShell сценарии должны иметь расширение файлов формата .ps1. Откройте Workbench и удалите все существующие элементы компьютеров в базе данных, а затем закройте Workbench.

Теперь найдите свой Create.ps1 файл, нажмите на нем правой клавишей и вберите команду «Открыть с помощью PowerShell (Run With PowerShell)». Оболочка интерпретатора команд PowerShell будет отображена и затем закроется. В качестве альтернативы двойному нажатию на .ps1 файле вы можете открыть интерпретатор команд PowerShell, перейти в каталог, в котором расположен Create.ps1 файл, и ввести Create.ps1 для выполнения вашего командного сценария.

Теперь откройте Workbench, где у вас должны быть новые элементы компьютеров. Мы достигли своей цели – возможности заполнить MDT базу несколькими элементами компьютеров в один шаг.

А вот небольшой бонус. Администраторы часто хотят называть компьютеры, используя общепринятые стандарты именования, например, мы хотим назвать эти три компьютера SEA-CLI-001, SEA-CLI-002 и SEA-CLI-003, а не DESK-A, DESK-B и DESK-E. Мы можем сделать это, слегка изменив вышеприведенный сценарий:

Import-Module 'name C:\Scripts\MDTDB.psm1

Connect-MDTDatabase 'sqlServer SEA-MDT-01 'instance SQLEXPRESS 'database MDT

$machines = Import-Csv C;\Data\machines.txt

For ($i=1; $i -le $machines.count; $i++)

{ $n = "{0:D3}" -f $i New-MDTComputer -macAddress $machines[$i-1].mac -settings @{ OSInstall='YES'; OSDComputerName='SEA-CLI-' + $n OrgName='Contoso Ltd.' } }

Сохраняем этот сценарий в качестве файла Create2.ps1, а затем выполняем его. Когда вы посмотрите подробности свойств элементов компьютеров, созданных этим сценарием, вы увидите, что компьютеры названы с помощью общепринятой системы именований:

Рисунок 29: Создание элементов компьютеров с помощью системы именований

Рисунок 29: Создание элементов компьютеров с помощью системы именований

 

Автор: Митч Туллоч (Mitch Tulloch)


Если на странице вы заметили в посте отсутствие изображений, просьба сообщить , нажав на кнопку.



После прочтения материала " Установка Windows 7 - часть 22: Массовое заполнение базы MDT с помощью PowerShell ", можно просмотреть форум и поискать темы по данной игре.



ДРУГИЕ МАТЕРИАЛЫ
Начало отношений и секс
США готовятся к кибервойне?
Демоверсия East India Company
Память DDR2 и DDR3 продолжает дорожать
Дмитрий Медведев побывал в "Лаборатории Касперского"
Все, что вам нужно знать об установке Service Pack 1 для Windows 7
Обзор вирусной обстановки за первое полугодие от компании «Доктор Веб»
Снимается фильм по ужастику Dead Space
Fallout 3: новые скриншоты, превью, видео
Peugeot Metromorph: автомобиль, паркующийся на стене
Новая забава: сбрасывать машины в реку!
Mini-ITX плата MSI IM-GM45 на чипсете Intel GM45
AMD готовит революцию в мире компьютерной графики
Microsoft устранит уязвимость DirectX
Много новых иллюстраций Killzone 2
Куннилингус - характерные мужские ошибки
ASUS MARS 295 Limited Edition: уникальная видеокарта тиражом 1000 штук
ASUS: новая версия Radeon HD 4870 с кулером Glaciator и усиленным питанием
Дополнения обновляют графику WoW
Троян Bredolab заражает все больше компьютеров

Если вам понравился материал "Установка Windows 7 - часть 22: Массовое заполнение базы MDT с помощью PowerShell", - поделитесь ним с другими.


html-cсылка на публикацию
BB-cсылка на публикацию
Прямая ссылка на публикацию


Категория: Статьи: Windows 7 | Добавил: Фокусник (02.07.2010)
Просмотров: 1997

Ниже вы можете добавить комментарии к материалу " Установка Windows 7 - часть 22: Массовое заполнение базы MDT с помощью PowerShell "

Внимание: Все ссылки и не относящиеся к теме комментарии будут удаляться. Для ссылок есть форум.


Всего комментариев : 0
avatar
ФОРМА ВХОДА
ПОЖЕРТВОВАНИЯ



WMZ: Z143317192317
WMB: X706980753649

Boosty - Donate

Payeer: P48650932
На кофе / ko-fi
ПАРТНЕРЫ

World of Warships — это free-to-play ММО-экшен, который позволяет окунуться в мир масштабных военно-морских баталий. Возьмите под управление легендарные боевые корабли первой половины ХХ века и завоюйте господство на бескрайних океанских просторах.

Курсы обмена WebMoney


Что такое ресурс Turbobit и как качать.


Получи 10 ГБ места бесплатно, на всю жизнь.


Boosty – сервис по сбору донатов.
Мстители 4 (сюжет уже известен!) спойлеры! - что покажут в фильме, обзор, теории, марвел, трейлер
Мстители 4 (сюжет уже известен!) спойлеры! - что покажут в фильме, обзор, теории, марвел, трейлер
Игрозор №211
Игрозор №211
День независимости 3 [Обзор] / [Трейлер на русском]
День независимости 3 [Обзор] / [Трейлер на русском]
Видеообзор игры DreadOut
Видеообзор игры DreadOut
Видеопревью игры The Elder Scrolls Online
Видеопревью игры The Elder Scrolls Online
Elite Dangerous: Beyond - Chapter Two - Launch Livestream (June 28 @ 12:00 PM BST)
Elite Dangerous: Beyond - Chapter Two - Launch Livestream (June 28 @ 12:00 PM BST)
Фильм
Фильм "Красивый мальчик" (2018) - Русский трейлер (Субтитры)
Gamesblender №367: Microsoft объединяется с Nintendo, а Beyond Good & Evil 2 не торопится к релизу
Gamesblender №367: Microsoft объединяется с Nintendo, а Beyond Good & Evil 2 не торопится к релизу
Warhammer: Vermintide 2: Видеообзор
Warhammer: Vermintide 2: Видеообзор
В четыре раза больше Титаника: Корабль-гигант | Самый большой лайнер в мире
В четыре раза больше Титаника: Корабль-гигант | Самый большой лайнер в мире

Свежие демотиваторы  (16 шт)
Свежие демотиваторы (16 шт)
Атмосферные фотографии заброшенного транспорта и кладбищ автомобилей (14 фото)
Атмосферные фотографии заброшенного транспорта и кладбищ автомобилей (14 фото)
Забавные стоп кадры - 28 фото
Забавные стоп кадры - 28 фото
Постеры к блокбастерам Марвел из повседневных предметов (22 фото)
Постеры к блокбастерам Марвел из повседневных предметов (22 фото)
Котики-антидепрессанты
Котики-антидепрессанты
Если бы животные были гигантских размеров (16 фото)
Если бы животные были гигантских размеров (16 фото)
Прикольные фото для выходного дня (50 шт)
Прикольные фото для выходного дня (50 шт)
Свежая коллекция демотиваторов (18 фото)
Свежая коллекция демотиваторов (18 фото)
СТАТИСТИКА
Яндекс.Метрика


Copyright © 2000-2024, Alex LTD and System PervertedХостинг от uCoz