30.3.18

Устанавливаем чистую операционную систему Debian Stretch

Скачиваем образ:
NetBoot_x64

Запускаем установку и следуем инструкциям
Из ПО устанавливаем только самое необходимое - SSH и базовые утилиты

После записи загрузочной области и перезагрузки настраиваем SSH

Запускаем SSH:
service ssh start

Проверяем его статус:
service ssh status

Настраиваем автостарт SSH:
update-rc.d ssh defaults

Выключаем систему и делаем снимок диска

Docker на Debian Stretch. Краткий справочник на примере сборки Debian Stretch с Nginx на борту

Устанавливаем чистую операционную систему. Образ можно взять тут.

Обновляем все пакеты:
apt-get update && apt-get upgrade

Ставим дополнительные пакеты:
apt-get install apt-transport-https ca-certificates curl software-properties-common

Добавляем ключь GPG от репозитория Docker:
cd /temp && wget https://download.docker.com/linux/debian/gpg
apt-key add gpg

Добавляем репозиторий:
echo "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee -a /etc/apt/sources.list.d/docker.list

Обновляем базу репозиториев и устанавливаем Docker:
apt-get update && apt-get install docker-ce

Запускаем и прописываем автостарт:
systemctl start docker && systemctl enable docker

Проверяем версию Docker:
docker --version

Удаляем ненужные остатки после установки:
apt-get autoremove && apt-get autoclean && apt-get clean

Очищаем экран консоли:
clear

Очищаем историю консоли:
history -c

***


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

Образ собирается на основе Dockerfile, в котором описаны все инструкции

Пример Dockerfile для сборки образа сервера Nginx с Lua-модулем на базе Debian Stretch

FROM debian:9.4
MAINTAINER kvvlgua@gmail.com
RUN apt update; apt upgrade; apt clean all
RUN apt remove nginx-common
RUN apt install -y \
        libgdchart-gd2-xpm \
        libgdchart-gd2-xpm-dev \
        libgeoip-dev \
        autoconf \
        automake \
        autotools-dev \
        bsdmainutils \
        build-essential \
        cmake \
        make \
        doxygen \
        git \
        curl \
        wget \
        gcc \
        zlib1g-dev \
        libpcre3-dev \
        libxslt1-dev \
        libboost-all-dev \
        libreadline-dev \
        libperl-dev \
        libssl-dev \
        libtool \
        ncurses-dev \
        supervisor \
    && \
    apt-get clean all && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN mkdir -p /var/log/supervisor
RUN cd /usr/local/src \
    && git clone http://luajit.org/git/luajit-2.0.git \
    && cd luajit-2.0 \
    && make \
    && make install
RUN cd /usr/local/src \
    && wget http://zlib.net/zlib-1.2.11.tar.gz \
    && tar -zxf zlib-1.2.11.tar.gz \
    && cd zlib-1.2.11 \
    && ./configure \
    && make \
    && make install
RUN cd /usr/local/src \
    && curl -R -O http://www.lua.org/ftp/lua-5.3.4.tar.gz \
    && tar zxf lua-5.3.4.tar.gz \
    && cd lua-5.3.4 \
    && make linux test
RUN cd /usr/local/src \
    && git clone https://github.com/simpl/ngx_devel_kit.git
RUN cd /usr/local/src \
    && git clone https://github.com/openresty/lua-nginx-module.git
RUN cd /usr/local/src \
    && wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gz \
    && tar -xzvf pcre-8.42.tar.gz \
    && cd pcre-8.42 \
    && ./configure --enable-jit \
    && make \
    && make install
RUN cd /usr/local/src \
    && wget https://www.openssl.org/source/openssl-1.1.0h.tar.gz \
    && tar -xzvf openssl-1.1.0h.tar.gz \
    && cd openssl-1.1.0h \
    && ./config \
    && make \
    && make install
ENV LUAJIT_LIB /usr/local/lib/
ENV LUAJIT_INC /usr/local/include/luajit-2.0
RUN groupadd nginx \
    && useradd --no-create-home nginx -g nginx
RUN cd /usr/local/src \
    && wget https://nginx.org/download/nginx-1.13.10.tar.gz \
    && tar -vzxf nginx-1.13.10.tar.gz \
    && cd nginx-1.13.10 \
    && ./configure \
        --with-ld-opt="-Wl,-rpath,/usr/local/lib/" \
        --prefix=/etc/nginx \
        --sbin-path=/usr/sbin/nginx \
        --modules-path=/usr/lib/nginx/modules \
        --conf-path=/etc/nginx/nginx.conf \
        --error-log-path=/var/log/nginx/error.log \
        --http-log-path=/var/log/nginx/access.log \
        --pid-path=/var/run/nginx.pid \
        --lock-path=/var/run/nginx.lock \
        --http-client-body-temp-path=/var/cache/nginx/client_temp \
        --http-proxy-temp-path=/var/cache/nginx/proxy_temp \
        --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
        --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
        --http-scgi-temp-path=/var/cache/nginx/scgi_temp \
        --user=nginx \
        --group=nginx \
        --with-http_ssl_module \
        --with-http_realip_module \
        --with-http_addition_module \
        --with-http_sub_module \
        --with-http_dav_module \
        --with-http_flv_module \
        --with-http_mp4_module \
        --with-http_gunzip_module \
        --with-http_gzip_static_module \
        --with-http_random_index_module \
        --with-http_secure_link_module \
        --with-http_stub_status_module \
        --with-http_auth_request_module \
        --with-http_xslt_module=dynamic \
        --with-http_image_filter_module=dynamic \
        --with-http_geoip_module \
        --with-http_perl_module=dynamic \
        --with-threads \
        --with-stream \
        --with-stream_ssl_module \
        --with-stream_geoip_module=dynamic \
        --with-http_slice_module \
        --with-mail \
        --with-mail_ssl_module \
        --with-file-aio \
        --with-http_v2_module \
        --with-pcre-jit \
        --with-pcre=../pcre-8.42 \
        --with-openssl=../openssl-1.1.0h \
        --add-module=/usr/local/src/ngx_devel_kit \
        --add-module=/usr/local/src/lua-nginx-module \
    && make -j2 \
    && make install   
ENV PATH=$PATH:/usr/local/bin/:/usr/local/sbin/:/usr/bin/:/usr/sbin/
RUN mkdir -p /var/cache/nginx/client_temp \
    && mkdir -p /etc/nginx/conf.d
WORKDIR /usr/share/nginx/html
COPY conf/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY conf/nginx/nginx.conf /etc/nginx/nginx.conf
COPY conf/nginx/default.conf /etc/nginx/conf.d/default.conf
RUN echo "NGINX with lua on Debian 9 inside Docker" > /usr/share/nginx/html/index.html
RUN apt clean all
RUN rm -rf /usr/local/src/*.tar.gz
RUN ln -sf /dev/stdout /var/log/nginx/access.log \
    && ln -sf /dev/stderr /var/log/nginx/error.log
EXPOSE 22 80 443
CMD ["nginx", "-g", "daemon off;"]






Фактически это набор команд по установке окружения, необходимого для работы сервера Nginx

FROM - указывает на базе какого образа осуществляется сборка
MAINTAINER - указывает автора сборки
ENV PATH - пробрасывает реальное окружение хоста во внутрь контейнера
RUN - фактически выполняет команды консоли в процессе сборки. После каждого RUN состояние образа фиксируется
WORKDIR - устанавливает рабочий каталог для любых инструкций RUN, CMD, ENTRYPOINT, COPY и ADD, которые следуют за ним в Dockerfile
COPY - копирует файлы из файловой системы хоста в файловую систему образа
EXPOSE - порты, доступные в образе
CMD - предоставление значений по умолчанию для исполняющего контейнера. Эти значения по умолчанию могут включать исполняемый файл, или они могут опустить исполняемый файл, и в этом случае вы должны указать инструкцию ENTRYPOINT
 ENTRYPOINT - при запуске контейнера параметры передаются команде, указанной в ENTRYPOINT

В данном примере ENTRYPOINT не используется. Сервер стартует за счет CMD

Создаем папку docker, в ней conf, а в nginx и заходим в каталог docker
mkdir -p docker/conf/nginx/
cd docker


Создаем в каталоге docker файл Dockerfile с указанным выше содержимым
touch Dockerfile
vi Dockerfile

Можно воспользоваться SCP клиентом или tftp сервером и положить уже подготовленный файл

В каталоге docker/conf размещаем supervisord.conf, а в docker/conf/nginx - nginx.conf и default.conf


supervisord.conf:

[supervisord]
nodaemon=true

[program:sshd]
command=/usr/sbin/sshd -D  "daemon off;"

[program:nginx]
command=/usr/sbin/nginx -g "daemon off;"



nginx.conf:

worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}





default.conf:
server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    location /hellolua {
            content_by_lua '
                ngx.header["Content-Type"] = "text/plain";
                ngx.say("hello world");
            ';
        }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/local/openresty/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           /usr/local/openresty/nginx/html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}


Копируем конфигурационные файлы и после этого запускаем сборку образа, находясь в дирректории docker
docker build -t deb9-nginx-lua .



Выполняем публикацию образа в Registry
docker push


Выполняем публикацию образа в Docker Hub / Docker Cloud, предварительно зарегистрировавшись там.
Имя аккаунта Docker Hub = user_name
Имя собранного образа = image_name

    docker login
    export DOCKER_ID_USER="user_name"
    docker tag image_name $DOCKER_ID_USER/image_name
    docker push $DOCKER_ID_USER/image_name

Соответственно для нашего образа и пользователя Docker Cloud vintagemen, у нас получится следующее:

    docker login
    export DOCKER_ID_USER="vintagemen"
    docker tag deb9-nginx-lua $DOCKER_ID_USER/deb9-nginx-lua
    docker push $DOCKER_ID_USER/deb9-nginx-lua

Смотрим список образов Docker после завершения сборки
docker container ls

Запускаем созданный контейнер
docker run -d -p 80:80 -p 443:443 deb9-nginx-lua

Или чтобы попасть на машинку
docker run -t -i deb9-nginx-lua /bin/bash

Список доступных образов
docker images

Скачать образ (или весь репозиторий) из официального регистра (хранилища образов)
docker pull user_name/image_name

Посмотреть информацию об образе
docker inspect deb9-nginx-lua

Удалить образ
docker rmi deb9-nginx-lua

Вы должны будете вручную запускать нужные демоны или супервизор после старта контейнера
docker exec CONTAINER_ID bash -c "service ssh start"

Список всех контейнеров (запущенных и остановленных)
docker ps -a

Список запущенных контейнеров
docker ps

Удалить контейнер(ы)
docker rm CONTAINER_ID CONTAINER_ID

Удалить все контейнеры
docker rm $(docker ps -aq)

Общая информация о состоянии Docker
docker info

19.2.18

Полезные команды консоли в MikroTik

Конфигурация роутера на экран
/export compact

Экспорт конфигурации роутера в файл
/export compact file=[filename]
/export file=[filename]

Импорт конфигурации роутера из файла
/import file-name=[filename]

Создание нового пользователя
/user add name=логин group=full password=пароль

Удаление существующего пользователя
/user remove admin

Переименование интерфейса (если нужно)
/interface ethernet set [find default-name=ether1] name=eth1-wan

Изменение MAC-адреса интерфейса (если нужно)
/interface ethernet set ether1 mac-address=00:11:22:33:44:55

Автоматическое получение настроек по DHCP от провайдера
/ip dhcp-client add interface ether1 disabled=no
/ip dhcp-client add interface ether2 disabled=no

Статика провайдера (если нужно)
/ip address add address=192.0.2.10/255.255.255.0 interface=eth1-wan
/ip route add dst-address=0.0.0.0/0 gateway=192.0.2.1 check-gateway=ping distance=1
/ip dns set servers=192.0.2.2,192.0.2.3

Настройка PPPoE (если нужно)
/interface pppoe-client add interface=eth1-wan name=tap1-wan disabled=no user=логин password=пароль use-peer-dns=yes add-default-route=yes default-route-distance=0

Настройка L2TP/PPTP (если нужно)
/interface pptp-client add name=tun1-wan disabled=no connect-to=сервер_vpn user=логин password=пароль add-default-route=yes default-route-distance=1 profile=default

Ставим мастер-порт ether5
/interface ethernet set [find default-name=ether3] master-port=ether5
/interface ethernet set [find default-name=ether4] master-port=ether5

Создаем программный мост
/interface bridge add name=bridge-local

Добавляем в программный мост интерфейсы
/interface bridge port add interface=ether5 bridge=bridge-local
/interface bridge port add interface=wlan1 bridge=bridge-local

Настраиваем профили безопасности
/interface wireless set wlan1 disabled=no ssid=MyRouter mode=ap-bridge band=2ghz-b/g/n frequency=2412 bridge-mode=enabled wireless-protocol=802.11 security-profile=wpa2-protect default-authentication=yes default-forwarding=yes hide-ssid=no
/interface wireless nstreme set wlan1 enable-nstreme=no enable-polling=no disable-csma=no

Добавляем адрес на мост
/ip address add address=192.168.10.1/24 comment=defconf interface=bridge-local network=192.168.0.0

Создаем пул адресов
/ip pool add name=dhcp address=192.168.10.100-192.168.10.200

/ip dhcp-server add name=dhcp interface=bridge-local lease-time=00:10:00 address-pool=dhcp
/ip dhcp-server network add address=192.168.10.0/24 dns-server=192.168.10.1 gateway=192.168.10.1 netmask=24

Включаем прослушку запросов имен
/ip dns set allow-remote-requests=yes

Настраиваем сетевой фильтр
/ip firewall filter
add chain=input protocol=icmp
add chain=input connection-state=new dst-port=80,8291,22 in-interface=bridge-local protocol=tcp src-address=192.168.10.0/24
add chain=input connection-mark=allow_in connection-state=new dst-port=80 in-interface=ether1 protocol=tcp
add chain=input connection-state=new dst-port=53,123 protocol=udp src-address=192.168.10.0/24
add chain=input connection-state=established,related
add chain=output connection-state=!invalid
add chain=forward connection-state=established,new in-interface=bridge-local out-interface=ether1 src-address=192.168.10.0/24
add chain=forward connection-state=established,related in-interface=ether1 out-interface=bridge-local
add action=drop chain=input
add action=drop chain=output
add action=drop chain=forward

/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1 src-address=192.168.10.0/24
add action=redirect chain=dstnat dst-port=9999 protocol=tcp to-ports=80

/ip firewall mangle
add action=mark-connection chain=prerouting dst-port=9999 new-connection-mark=allow_in protocol=tcp connection-state=new

Присваиваем имя устройству
/system identity set name=MikRouter
/ip dns static add name=mikrouter address=192.168.12.10

Обновление ПО
/system package update download
/system package update install

Настройка ntp
/system ntp client set enabled=yes primaty-ntp=hp.office.vici.ua secondary-ntp=0.ua.pool.ntp.org
/system ntp server set enabled=yes

Отключаем лишние службы
/ip service
set telnet disabled=yes
set ftp disabled=yes
set api disabled=yes
set api-ssl disabled=yes
set https disabled=yes
set www-ssl disabled=no
set winbox disabled=no
set www disabled=no

Отключаем обнаружение
/ip neighbor discovery
:foreach i in=[find] do={
set $i discovery=no
}

Ограничиваем доступ по mactelnet
/tool mac-server
set [ find default=yes ] disabled=yes
add interface=bridge-local
/tool mac-server mac-winbox
set [ find default=yes ] disabled=yes
add interface=bridge-local

Включаем UPnP
/ip upnp
set enabled=yes
/ip upnp interfaces
add interface=ether1 type=external
add interface=bridge-local type=internal

Резервная копия настроек
/system backup save name=router6.30.2 dont-encrypt=yes

Восстановление
/system backup load name=router6.30.2.backup

Группировка интерфейсов
/interface list
add name=WAN
/interface list member
add interface=ISP1 list=WAN
add interface=ISP2 list=WAN
add interface=ISP3 list=WAN

Роутинг:
/ip route
add distance=1 gateway=95.11.29.254 routing-mark=ISP1-route
add distance=1 gateway=5.35.59.161 routing-mark=ISP2-route
add distance=1 gateway=5.98.112.29 routing-mark=ISP3-route

add check-gateway=ping distance=1 gateway=8.8.8.8
add check-gateway=ping distance=2 gateway=8.8.4.4
add check-gateway=ping distance=3 gateway=1.1.36.3

add distance=1 dst-address=8.8.4.4/32 gateway=5.35.59.161 scope=10
add distance=1 dst-address=8.8.8.8/32 gateway=95.11.29.254 scope=10
add distance=1 dst-address=1.1.36.3/32 gateway=5.98.112.29 scope=10

firewall mangle
/ip firewall mangle
add action=mark-connection chain=input in-interface=ISP1 \
    new-connection-mark=ISP1-conn passthrough=yes
add action=mark-routing chain=output connection-mark=ISP1-conn \
    new-routing-mark=ISP1-route passthrough=no

add action=mark-connection chain=input in-interface=ISP2 new-connection-mark=\
    ISP2-conn passthrough=yes
add action=mark-routing chain=output connection-mark=ISP2-conn \
    new-routing-mark=ISP2-route passthrough=no

add action=mark-connection chain=input in-interface=ISP3 \
    new-connection-mark=ISP3-conn passthrough=yes
add action=mark-routing chain=output connection-mark=ISP3-conn \
    new-routing-mark=ISP3-route passthrough=no

add action=mark-connection chain=forward in-interface=ISP1 \
    new-connection-mark=ISP1-conn-f passthrough=no
add action=mark-routing chain=prerouting connection-mark=ISP1-conn-f \
    in-interface=bridge new-routing-mark=ISP1-route  

add action=mark-connection chain=forward in-interface=ISP2 \
    new-connection-mark=ISP2-conn-f passthrough=no
add action=mark-routing chain=prerouting connection-mark=ISP2-conn-f \
    in-interface=bridge new-routing-mark=ISP2-route  

add action=mark-connection chain=forward in-interface=ISP3 \
    new-connection-mark=ISP3-conn-f passthrough=no
add action=mark-routing chain=prerouting connection-mark=ISP3-conn-f \
    in-interface=bridge new-routing-mark=ISP3-route

Перенос сервера DHCP c 2003 на 2012 R2

Шаг 1: Установка средств миграции Windows Server для Windows Server 2012 R2
Ставим средства миграции на сервере 2012 R2 через роли и фичи

Шаг 2. Установка средств миграции Windows Server для Windows Server 2003
На 2012 R2:
«Диспетчер серверов»> «Инструменты»> «Инструменты миграции Windows Server»> «Инструменты миграции Windows Server»
cd ServerMigrationTools
.\SmigDeploy.exe /package /architecture amd64 /os ws03 /path C:\Temp\WIN2K3MIG
Cкопировать папку C:\Temp\WIN2K3MIG\SMT_ws03_amd64 на сервер Windows 2003, на котором размещена роль DHCP

Шаг 3. Подготовка источника DHCP Windows Server 2003 для миграции
Пуск > Все программы > Стандартные > Windows PowerShell > Windows PowerShell
SMT_ws03_amd64\SmigDeploy.exe
Get-SmigServerFeature предоставит список ролей, которые мы можем перенести на сервер Windows 2012 R2
Подготовить папку общего доступа в сети (DHCPShare на 2012 R2) с разрешениями на чтение и запись NTFS
Export-SmigServerSetting -featureID DHCP -User All -Group -path \\DC0\DHCPShare -Verbose

Шаг 4: Удаление старых ролей DHCP из Windows Server 2003
Net stop “DHCP Server”
Пуск> Панель управления> Установка и удаление программ
"Добавить/удалить компоненты Windows" > "Сетевые службы" > "Детали"

Шаг 5: Установка роли DHCP в Windows Server 2012 R2

Шаг 6: Импорт данных сервера DHCP в Windows Server 2012 R2
Войдите на сервер Windows 2012 в качестве администратора домена
Откройте Windows Powershell с помощью диспетчера сервера> Инструменты> Windows Powershell
Наберите Net stop "DHCP Server" и нажмите enter
Затем введите Add-PSSnapin microsoft.windows.servermanager.migration и нажмите enter, чтобы использовать набор команд средств миграции
Теперь для импорта данных DHCP набираем Import-SmigServerSetting -featureID DHCP -Force -path \\DC0\DHCPShare -Verbose и нажмите enter
Затем введите Start-Service DHCPServer и нажмите enter, чтобы запустить DHCP-сервер
Затем авторизуйте DHCP-сервер командой Netsh DHCP add server dc0.<FQDN вашего домена> <IP-адрес нового сервера DHCP>
Перезагрузка сервера

14.2.18

Передача ролей FSMO с помощью утилиты ntdsutil

Запускаем командную строку и вводим команды в такой последовательности:
  • ntdsutil
  • roles
  • connections
  • connect to server <имя сервера>
  • q
После успешного подключения к серверу мы получаем приглашение к управлению ролями (fsmo maintenance), и можем начать передавать роли :
  • transfer domain naming master — передача роли хозяина доменных имен.
  •  transfer infrastructure master — передача роли хозяина инфраструктуры;
  •  transfer rid master — передача роли хозяина RID;
  •  transfer schema master — передача роли хозяина схемы;
  •  transfer pdc — передача роли эмулятора PDC.
Для завершения работы Ntdsutil вводим команду q и нажимаем Ввод.
Примечание. Начиная с  Windows Server 2008R2 команда для передачи роли хозяина доменных имен transfer naming master.

5.2.18

Использование DISM для интеграции драйверов в установочный образ

В папке C:\Images компьютера с WAIK находится установочный образ Windows 7 (файл install.wim)

В папке C:\Drivers находятся драйверы для Windows 7 для устройства

Смотрим список образов в установочном файле Install.wim:
dism /get-wiminfo /wimfile:C:\Images\install.wim

Подключим нужный образ к папке C:\Servicing с помощью параметра /mount-wim команды DISM.exe:
dism /mount-wim /wimfile:C:\Images\install.wim /index:4 /mountdir:C:\Servicing

Проверяем подключение:
dism /get-mountedwiminfo

В папке появились файлы подключенного образа:
dir C:\Servicing

Список действий, которые можно выполнить с подключенным образом:
dism /image:C:\Servicing /?

Список уже установленных драйверов в образе:
dism /image:C:\Servicing /get-drivers

Добавим драйвера:
dism /image:C:\Servicing /add-driver /driver:"C:\Drivers" /recurse

Проверим, добавились ли драйвера:
dism /image:C:\Servicing /get-drivers

Заканчиваем работу с образом и отключаем его:
dism /unmount-wim /mountdir:C:\Servicing /commit


20.10.17

Создание дампа пакетов штатными средствами Windows

Для создания дампа пакетов нет необходимости пользоваться сторонними утилитами и что-либо дополнительно устанавливать на Windows сервер / рабочую станцию заказчика.


Консольная утилита netsh trace интегрирована в Windows и работает для Windows 7, Windows Server 2008 или более новых.

Полное описание доступно по ссылке:

Справка прямо в командной строке по инструменту:

netsh trace help

Старт создания дампа пакетов с хоста 192.168.1.10:

netsh trace start capture = yes IPv4.Address = 192.168.1.10

Завершение сбора данных в дамп:

netsh trace stop

Этому инструменту не нужен сеанс терминала

Файл дампа создается в формате ETL Microsoft. Для его открытия и анализа можно использовать приложение Microsoft Message Analyzer

Если необходимы другие инструменты для анализа собранных пакетов, то можно экспортировать из Microsoft Message Analyzer через меню File / Save As / Export в PCAP-файл

18.8.17

Автономный ввод в домен Active Directory

В случае необходимости ввести в домен ПК, не имеющий по каким-либо причинам доступа к этому домену на текущий момент времени, нужно проделать описанные ниже действия.

На любом контроллере или клиентском Windows 7 в домене назначения запускаем утилиту «djoin» со следующими ключами:
djoin /provision /domain DomainName /machine WorkstationName /dcname DCName /savefile C:\metafile.txt

Где,
DomainName – имя вашего домена
WorkstationName – имя клиентского компьютера, который должен автономно войти в домен
DCName – имя контроллера домена
/downlevel – ключ указывается, если у вас контроллер домена Windows Server 2003
C:\metafile.txt – путь к файлу с метаданными


Передаем полученный таким образом файл на ПК, который собираемся вводить в домен.

Запускаем консоль и выполняем следующую команду:
djoin /requestODJ /loadfile C:\metafile.txt /windowspath %SystemRoot% /localos

Все. При следующей перезагрузке ПК и доступности домена можно зайти в домен