We rise up for the things we believe in over and over again
Итак, задача, в общем-то, проста. Нужно подготовить образ системы на определенную модель ПК. Очень желательно, чтобы действий администратора было по минимуму. Образ на основе русского дистрибутива ОС Windows 7. Естественно, есть куча требований к состоянию ОС уже после развертывания образа (имя компьютера, состояние встроенных учетных записей, много чего). Естественно, нужно использовать sysprep.
На первый взгляд, ничего сложного. Подготавливаем исходный ПК, ставим на него ОС, все необходимые обновления, весь необходимый софт, проводим все настройки. После чего натравливаем на компьютер sysprep, захватываем образ. И потом уже этот образ раскидываем по рабочим станциям.
А теперь - детали, в которых кроется дьявол (который таки может плакать).
После выполнения sysprep /generalize все встроенные учетные записи будут переименованы. Да, они станут Администраторм и Гостем. Ладно, это можно обойти, в конце концов, после развертывания станции в любом случае будет исполняться настроечный сценарий, который учетные записи сделает такими, какими они и должны быть. Единственное, что остается неизменным - это пароли данных учеток, sysprep их не трогает. Уже проще.
Подводный камень номер два. После развертывания образа, на который был натравлен sysprep, первое, что появится на экране - это окно Windows Welcome. То самое окошко, где нужно задать и имя пользователя, и имя компьютера, а потом еще и политику обновлений, тип сети, часовой пояс, в общем - много всего. Лениво. Ладно, это тоже обходится при помощи файла ответов, о котором речь и пойдет.
Само по себе создание такого XML файла сложностей не представляет. Есть специальный инструмент, называется Windows System Image Manager. Как им пользоваться - есть подробнейшая справка. Скажу лишь, что возможности по настройке ОС он представляет поистине широчайшие.
Итак, файл ответов подготовлен, в него внесена информация о практически всех параметрах, которые нам мешают жить (то есть прерывают автоматическую установку). В том числе и создание временной учетной записи (без этого - к сожалению, никак). Следующий этап - каким-то образом заставить систему загружаться не под новосозданной учетной записью, а под той самой административной, что была задана еще на этапе установки исходной ОС. И вот тут начинается кавардак.
Административная учетная запись после sysprep блокируется. By default and hard-coded. Среди всего многообразия настраиваемых параметров в файле ответов разблокировки этой учетной записи как таковой нет. Как же быть? Ответ следующий: методов два. Один из них - выполнение специальной команды на этапе настройки specialize:
net user Администратор /active:yes
Второй - просто настроить автологин от имени этого самого администратора, в этом случае блокировка отменяется.
Отлично, убиваем двух зайцев сразу, тем более, что нам все равно автологин понадобится. И параметры автологина как раз настроить в файле ответов не проблема:
Как именно
После этого задаем все остальные нужные параметры и запускаем sysprep с указанием имени файла ответов (через графический интерфейс это сделать нельзя):
sysprep /oobe /generalize /shutdown /unattend:PATH_TO_XML_FILE
Когда компьютер выключится, снимаем образ, после чего загружаем его, чтобы посмотреть, что же у нас получилось.
Каково же было мое удивление, когда я увидел, что система попыталась выполнить автовход, но нарвалась на следующее: "При первом входе пользователь должен изменить пароль"
Что за ересь?! Учитывая, что у административной записи эта галка сроду не стоит, становится не совсем понятным, откуда она взялась.
Тут небольшое отступление. Поскольку дома у меня стоит английская ОС, то все имена учетных записей в файле ответов сначала были английскими. И все заработало. После переноса файла ответов в русскую ОС с заменой имен учетных записей на русские - получили вышеописанный результат. Вопрос - что пошло не так?
Конец отступления.
Предположив, что банально произошла какая-то ошибка во время развертывания ОС и применения файла ответов развернул образ еще раз. Нет, все так же - меняйте пароль. Хорошо, давай поменяем. Подтверждаю смену и вижу просто прекрасное: система пытается загрузиться не с помощью административной учетной записи, как это было указано в файле ответов, а с помощью новосозданной временной. Да, у нее флаг смены пароля установлен по умолчанию. Но как же так?
После установки и конфигурировании экрана Windows Welcome ОС сама пытается зайти под той учетной записью, которую найдет (кроме гостевой), и которая не будет неактивной. Получается, что запись администратора она не видит, или эта запись не разблокировалась. А не разблокированной эта учетная запись может остаться только в том случае, если в файле ответов почему-то она не указана в параметрах автовхода. Проверяю файл ответов, но загружать по-новой Windows SIM было лень. Тотал, выбрать файл, нажать F4...
Давайте разберемся. На дворе теперь уже 2014 год. Полное засилье Unicode. А Windows как работала весьма коряво с кодировками, так и продолжает работать.
В общем и целом, взору предстала картина убитого имени "Администратор", превращенного в набор непонятных символов. И это - при использовании официального инструмента от MS. ОК, в заголовке полученного XML файла четко написано:
Открываем его в режиме utf-8, правим убитое имя учетной записи, сохраняем, снова выполняем sysprep на восстановленной машине. И тут sysprep выдает вовсе парадоксальное - у вас нечитаемый файл ответов.
Опустим мои не самые лучшие мысли по этому поводу. Что же делать?
Почитав справку о стадиях настройки ОС после установки и пробежавшись по интернету, выяснил, что можно переименовать учетную запись еще до появления окна Windows Welcome, а это значит, что можно избавиться от русского имени. Все бы хорошо, но ведь для того, чтобы переименовать учетную запись, ее нужно выбрать, и выбирают чаще всего по имени, что опять приводит нас к использованию русских букв в файле ответов. А этого нужно избежать. И это возможно. Все компьютеры с Windows на борту назначают встроенной учетной записи администратора один и тот же SID. А это уже кое-что.
Итак, на стадии specialize даем запуск вот такой команды:
Эта команда найдет среди всех учеток лишь одну, и это будет именно встроенная учетная запись администратора. После чего команда переименует ее в удобный для нас англоязычный вариант.
Дальнейшее - тривиально. В параметрах автовхода указываем новое имя администраторской учетки, сохраняем файл ответов, выполняем sysprep, снимаем образ, загружаем. И да, получаем желаемый результат - однократный автовход под нужной нам учетной записью. Дальнейший запуск подготовленного скрипта окончательной настройки - и система готова.
Казалось бы, на этом все? Да как бы не так, потому что Windows все же не сдается. Сразу после автоматического входа под учетной записью Administrator ради интереса открыл список всех учеток на компьютере. Каково же было мое удивление, когда я увидел учетку "Администратор". Да, именно так, по-русски! Вот так и слышу мерзкое хихиканье из системного блока, мол, ты можешь как угодно извращаться с этой записью, но все равно будет по-моему! Но так и быть, за труды твои, неправедные, малость уступлю.
На первый взгляд, ничего сложного. Подготавливаем исходный ПК, ставим на него ОС, все необходимые обновления, весь необходимый софт, проводим все настройки. После чего натравливаем на компьютер sysprep, захватываем образ. И потом уже этот образ раскидываем по рабочим станциям.
А теперь - детали, в которых кроется дьявол (который таки может плакать).
После выполнения sysprep /generalize все встроенные учетные записи будут переименованы. Да, они станут Администраторм и Гостем. Ладно, это можно обойти, в конце концов, после развертывания станции в любом случае будет исполняться настроечный сценарий, который учетные записи сделает такими, какими они и должны быть. Единственное, что остается неизменным - это пароли данных учеток, sysprep их не трогает. Уже проще.
Подводный камень номер два. После развертывания образа, на который был натравлен sysprep, первое, что появится на экране - это окно Windows Welcome. То самое окошко, где нужно задать и имя пользователя, и имя компьютера, а потом еще и политику обновлений, тип сети, часовой пояс, в общем - много всего. Лениво. Ладно, это тоже обходится при помощи файла ответов, о котором речь и пойдет.
Само по себе создание такого XML файла сложностей не представляет. Есть специальный инструмент, называется Windows System Image Manager. Как им пользоваться - есть подробнейшая справка. Скажу лишь, что возможности по настройке ОС он представляет поистине широчайшие.
Итак, файл ответов подготовлен, в него внесена информация о практически всех параметрах, которые нам мешают жить (то есть прерывают автоматическую установку). В том числе и создание временной учетной записи (без этого - к сожалению, никак). Следующий этап - каким-то образом заставить систему загружаться не под новосозданной учетной записью, а под той самой административной, что была задана еще на этапе установки исходной ОС. И вот тут начинается кавардак.
Административная учетная запись после sysprep блокируется. By default and hard-coded. Среди всего многообразия настраиваемых параметров в файле ответов разблокировки этой учетной записи как таковой нет. Как же быть? Ответ следующий: методов два. Один из них - выполнение специальной команды на этапе настройки specialize:
net user Администратор /active:yes
Второй - просто настроить автологин от имени этого самого администратора, в этом случае блокировка отменяется.
Отлично, убиваем двух зайцев сразу, тем более, что нам все равно автологин понадобится. И параметры автологина как раз настроить в файле ответов не проблема:
Как именно
После этого задаем все остальные нужные параметры и запускаем sysprep с указанием имени файла ответов (через графический интерфейс это сделать нельзя):
sysprep /oobe /generalize /shutdown /unattend:PATH_TO_XML_FILE
Когда компьютер выключится, снимаем образ, после чего загружаем его, чтобы посмотреть, что же у нас получилось.
Каково же было мое удивление, когда я увидел, что система попыталась выполнить автовход, но нарвалась на следующее: "При первом входе пользователь должен изменить пароль"
Что за ересь?! Учитывая, что у административной записи эта галка сроду не стоит, становится не совсем понятным, откуда она взялась.
Тут небольшое отступление. Поскольку дома у меня стоит английская ОС, то все имена учетных записей в файле ответов сначала были английскими. И все заработало. После переноса файла ответов в русскую ОС с заменой имен учетных записей на русские - получили вышеописанный результат. Вопрос - что пошло не так?
Конец отступления.
Предположив, что банально произошла какая-то ошибка во время развертывания ОС и применения файла ответов развернул образ еще раз. Нет, все так же - меняйте пароль. Хорошо, давай поменяем. Подтверждаю смену и вижу просто прекрасное: система пытается загрузиться не с помощью административной учетной записи, как это было указано в файле ответов, а с помощью новосозданной временной. Да, у нее флаг смены пароля установлен по умолчанию. Но как же так?
После установки и конфигурировании экрана Windows Welcome ОС сама пытается зайти под той учетной записью, которую найдет (кроме гостевой), и которая не будет неактивной. Получается, что запись администратора она не видит, или эта запись не разблокировалась. А не разблокированной эта учетная запись может остаться только в том случае, если в файле ответов почему-то она не указана в параметрах автовхода. Проверяю файл ответов, но загружать по-новой Windows SIM было лень. Тотал, выбрать файл, нажать F4...
Давайте разберемся. На дворе теперь уже 2014 год. Полное засилье Unicode. А Windows как работала весьма коряво с кодировками, так и продолжает работать.
В общем и целом, взору предстала картина убитого имени "Администратор", превращенного в набор непонятных символов. И это - при использовании официального инструмента от MS. ОК, в заголовке полученного XML файла четко написано:
Открываем его в режиме utf-8, правим убитое имя учетной записи, сохраняем, снова выполняем sysprep на восстановленной машине. И тут sysprep выдает вовсе парадоксальное - у вас нечитаемый файл ответов.
Опустим мои не самые лучшие мысли по этому поводу. Что же делать?
Почитав справку о стадиях настройки ОС после установки и пробежавшись по интернету, выяснил, что можно переименовать учетную запись еще до появления окна Windows Welcome, а это значит, что можно избавиться от русского имени. Все бы хорошо, но ведь для того, чтобы переименовать учетную запись, ее нужно выбрать, и выбирают чаще всего по имени, что опять приводит нас к использованию русских букв в файле ответов. А этого нужно избежать. И это возможно. Все компьютеры с Windows на борту назначают встроенной учетной записи администратора один и тот же SID. А это уже кое-что.
Итак, на стадии specialize даем запуск вот такой команды:
Эта команда найдет среди всех учеток лишь одну, и это будет именно встроенная учетная запись администратора. После чего команда переименует ее в удобный для нас англоязычный вариант.
Дальнейшее - тривиально. В параметрах автовхода указываем новое имя администраторской учетки, сохраняем файл ответов, выполняем sysprep, снимаем образ, загружаем. И да, получаем желаемый результат - однократный автовход под нужной нам учетной записью. Дальнейший запуск подготовленного скрипта окончательной настройки - и система готова.
Казалось бы, на этом все? Да как бы не так, потому что Windows все же не сдается. Сразу после автоматического входа под учетной записью Administrator ради интереса открыл список всех учеток на компьютере. Каково же было мое удивление, когда я увидел учетку "Администратор". Да, именно так, по-русски! Вот так и слышу мерзкое хихиканье из системного блока, мол, ты можешь как угодно извращаться с этой записью, но все равно будет по-моему! Но так и быть, за труды твои, неправедные, малость уступлю.
Это нормально
Да ради бога