root / snf-image-helper / tasks / 40InstallUnattend.in @ 501e19ec
History | View | Annotate | Download (2.9 kB)
1 | 0a35a4ab | Nikos Skalkotos | #! /bin/bash |
---|---|---|---|
2 | 54080484 | Nikos Skalkotos | |
3 | 7e5d635b | Nikos Skalkotos | # Copyright (C) 2011 GRNET S.A. |
4 | 7e5d635b | Nikos Skalkotos | # |
5 | 7e5d635b | Nikos Skalkotos | # This program is free software; you can redistribute it and/or modify |
6 | 7e5d635b | Nikos Skalkotos | # it under the terms of the GNU General Public License as published by |
7 | 7e5d635b | Nikos Skalkotos | # the Free Software Foundation; either version 2 of the License, or |
8 | 7e5d635b | Nikos Skalkotos | # (at your option) any later version. |
9 | 7e5d635b | Nikos Skalkotos | # |
10 | 7e5d635b | Nikos Skalkotos | # This program is distributed in the hope that it will be useful, but |
11 | 7e5d635b | Nikos Skalkotos | # WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | 7e5d635b | Nikos Skalkotos | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 | 7e5d635b | Nikos Skalkotos | # General Public License for more details. |
14 | 7e5d635b | Nikos Skalkotos | # |
15 | 7e5d635b | Nikos Skalkotos | # You should have received a copy of the GNU General Public License |
16 | 7e5d635b | Nikos Skalkotos | # along with this program; if not, write to the Free Software |
17 | 7e5d635b | Nikos Skalkotos | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
18 | 7e5d635b | Nikos Skalkotos | # 02110-1301, USA. |
19 | 7e5d635b | Nikos Skalkotos | |
20 | 54080484 | Nikos Skalkotos | ### BEGIN TASK INFO |
21 | 54080484 | Nikos Skalkotos | # Provides: InstallUnattend |
22 | c50358a6 | Nikos Skalkotos | # RunBefore: EnforcePersonality |
23 | c349d1b3 | Nikos Skalkotos | # RunAfter: MountImage |
24 | 54080484 | Nikos Skalkotos | # Short-Description: Installs Unattend.xml for unattended windows setup |
25 | 6a95db10 | Vangelis Koukis | ### END TASK INFO |
26 | 54080484 | Nikos Skalkotos | |
27 | 54080484 | Nikos Skalkotos | set -e |
28 | bad5ca1f | Nikos Skalkotos | . "@commondir@/common.sh" |
29 | 54080484 | Nikos Skalkotos | |
30 | 2a0ab295 | Nikos Skalkotos | trap task_cleanup EXIT |
31 | a50a2bff | Nikos Skalkotos | report_task_start |
32 | 2a0ab295 | Nikos Skalkotos | |
33 | 54080484 | Nikos Skalkotos | if [ -z "$SNF_IMAGE_TARGET" ]; then |
34 | f6e23601 | Nikos Skalkotos | log_error "Target dir: \`$SNF_IMAGE_TARGET' is missing" |
35 | 54080484 | Nikos Skalkotos | fi |
36 | 54080484 | Nikos Skalkotos | |
37 | 473f4fa5 | Nikos Skalkotos | if [ "$SNF_IMAGE_PROPERTY_OSFAMILY" != "windows" ]; then |
38 | 61e43304 | Nikos Skalkotos | exit 0 |
39 | 54080484 | Nikos Skalkotos | fi |
40 | 54080484 | Nikos Skalkotos | |
41 | 6196f457 | Nikos Skalkotos | if [ ! -f "@commondir@/unattend.xml" ]; then |
42 | 61e43304 | Nikos Skalkotos | log_error "File \`@commondir@/unattend.xml' is missing." |
43 | 54080484 | Nikos Skalkotos | fi |
44 | 54080484 | Nikos Skalkotos | |
45 | 6196f457 | Nikos Skalkotos | target=$SNF_IMAGE_TARGET |
46 | 6196f457 | Nikos Skalkotos | mkdir -p "$target/Windows/Setup/Scripts" |
47 | 6196f457 | Nikos Skalkotos | |
48 | 2a5be644 | Nikos Skalkotos | unattend=$(get_unattend "$target") |
49 | 878898d1 | Nikos Skalkotos | |
50 | 2a5be644 | Nikos Skalkotos | if [ -n "$unattend" -a -z "$SNF_IMAGE_PROPERTY_USE_DEFAULT_UNATTEND" ]; then |
51 | 878898d1 | Nikos Skalkotos | warn "Using the Unattend.xml file found in the image" |
52 | 878898d1 | Nikos Skalkotos | else |
53 | 2a5be644 | Nikos Skalkotos | rm -f "$unattend" |
54 | 878898d1 | Nikos Skalkotos | if [ -n "$SNF_IMAGE_UNATTEND" ]; then |
55 | 878898d1 | Nikos Skalkotos | echo "Installing custom Unattend.xml file..." |
56 | 878898d1 | Nikos Skalkotos | if [ -f "$SNF_IMAGE_UNATTEND" ]; then |
57 | 878898d1 | Nikos Skalkotos | cat "$SNF_IMAGE_UNATTEND" > "$target/Unattend.xml" |
58 | 878898d1 | Nikos Skalkotos | else |
59 | 878898d1 | Nikos Skalkotos | log_error "Custom unattend file: \`"$SNF_IMAGE_UNATTEND"' is missing" |
60 | 878898d1 | Nikos Skalkotos | fi |
61 | 8689d50f | Nikos Skalkotos | else |
62 | 878898d1 | Nikos Skalkotos | cat "@commondir@/unattend.xml" > "$target/Unattend.xml" |
63 | 8689d50f | Nikos Skalkotos | fi |
64 | 8689d50f | Nikos Skalkotos | fi |
65 | 8689d50f | Nikos Skalkotos | |
66 | 4989b80b | Nikos Skalkotos | echo "del /Q /F C:\unattend.xml" > \ |
67 | 4989b80b | Nikos Skalkotos | "$target/Windows/Setup/Scripts/SetupComplete.cmd" |
68 | 4989b80b | Nikos Skalkotos | |
69 | 4989b80b | Nikos Skalkotos | echo "del /Q /F C:\windows\panther\unattend.xml" >> \ |
70 | 6196f457 | Nikos Skalkotos | "$target/Windows/Setup/Scripts/SetupComplete.cmd" |
71 | 6196f457 | Nikos Skalkotos | |
72 | 6196f457 | Nikos Skalkotos | mkdir -p "$target/Windows/SnfScripts" |
73 | 6196f457 | Nikos Skalkotos | |
74 | 6196f457 | Nikos Skalkotos | echo "exit" > "$target/Windows/SnfScripts/ExtendFilesystem" |
75 | 6196f457 | Nikos Skalkotos | echo "del /Q /F C:\Windows\SnfScripts\ExtendFilesystem" >> \ |
76 | 6196f457 | Nikos Skalkotos | "$target/Windows/Setup/Scripts/SetupComplete.cmd" |
77 | 6196f457 | Nikos Skalkotos | |
78 | 6196f457 | Nikos Skalkotos | echo "@echo off" > "$target/Windows/SnfScripts/ChangeAdminPassword.cmd" |
79 | 6196f457 | Nikos Skalkotos | # For security reasons, overwrite the file before deleting... |
80 | 6196f457 | Nikos Skalkotos | spaces=$(printf "%200s"); |
81 | 6196f457 | Nikos Skalkotos | echo "echo ${spaces// /X} > C:\Windows\SnfScripts\ChangeAdminPassword.cmd" >> \ |
82 | 6196f457 | Nikos Skalkotos | "$target/Windows/Setup/Scripts/SetupComplete.cmd" |
83 | 6196f457 | Nikos Skalkotos | echo "del /Q /F C:\Windows\SnfScripts\ChangeAdminPassword.cmd" >> \ |
84 | 6196f457 | Nikos Skalkotos | "$target/Windows/Setup/Scripts/SetupComplete.cmd" |
85 | 6196f457 | Nikos Skalkotos | |
86 | 6196f457 | Nikos Skalkotos | echo "rmdir C:\Windows\SnfScripts" >> \ |
87 | 6196f457 | Nikos Skalkotos | "$target/Windows/Setup/Scripts/SetupComplete.cmd" |
88 | 6196f457 | Nikos Skalkotos | |
89 | 54080484 | Nikos Skalkotos | exit 0 |
90 | 5d3735b5 | Nikos Skalkotos | |
91 | 5d3735b5 | Nikos Skalkotos | # vim: set sta sts=4 shiftwidth=4 sw=4 et ai : |