root / snf-image-helper / tasks / 40InstallUnattend.in @ 10bf026d
History | View | Annotate | Download (2.5 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 | c349d1b3 | Nikos Skalkotos | # RunBefore: UmountImage |
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 | 54080484 | Nikos Skalkotos | if [ -z "$SNF_IMAGE_TARGET" ]; then |
31 | f6e23601 | Nikos Skalkotos | log_error "Target dir: \`$SNF_IMAGE_TARGET' is missing" |
32 | 54080484 | Nikos Skalkotos | fi |
33 | 54080484 | Nikos Skalkotos | |
34 | 473f4fa5 | Nikos Skalkotos | if [ "$SNF_IMAGE_PROPERTY_OSFAMILY" != "windows" ]; then |
35 | 61e43304 | Nikos Skalkotos | exit 0 |
36 | 54080484 | Nikos Skalkotos | fi |
37 | 54080484 | Nikos Skalkotos | |
38 | 6196f457 | Nikos Skalkotos | if [ ! -f "@commondir@/unattend.xml" ]; then |
39 | 61e43304 | Nikos Skalkotos | log_error "File \`@commondir@/unattend.xml' is missing." |
40 | 54080484 | Nikos Skalkotos | fi |
41 | 54080484 | Nikos Skalkotos | |
42 | 6196f457 | Nikos Skalkotos | target=$SNF_IMAGE_TARGET |
43 | 6196f457 | Nikos Skalkotos | mkdir -p "$target/Windows/Setup/Scripts" |
44 | 6196f457 | Nikos Skalkotos | |
45 | 8689d50f | Nikos Skalkotos | if [ -n "$SNF_IMAGE_UNATTEND" ]; then |
46 | 8689d50f | Nikos Skalkotos | echo "Installing custom Unattend.xml file..." |
47 | 8689d50f | Nikos Skalkotos | if [ -f "$SNF_IMAGE_UNATTEND" ]; then |
48 | 8689d50f | Nikos Skalkotos | cat "$SNF_IMAGE_UNATTEND" > "$target/Unattend.xml" |
49 | 8689d50f | Nikos Skalkotos | else |
50 | 8689d50f | Nikos Skalkotos | log_error "Custom unattend file: \`"$SNF_IMAGE_UNATTEND"' is missing" |
51 | 8689d50f | Nikos Skalkotos | fi |
52 | 8689d50f | Nikos Skalkotos | else |
53 | 8689d50f | Nikos Skalkotos | cat "@commondir@/unattend.xml" > "$target/Unattend.xml" |
54 | 8689d50f | Nikos Skalkotos | fi |
55 | 8689d50f | Nikos Skalkotos | |
56 | 6196f457 | Nikos Skalkotos | echo "del /Q /F C:\Unattend.xml" > \ |
57 | 6196f457 | Nikos Skalkotos | "$target/Windows/Setup/Scripts/SetupComplete.cmd" |
58 | 6196f457 | Nikos Skalkotos | |
59 | 6196f457 | Nikos Skalkotos | mkdir -p "$target/Windows/SnfScripts" |
60 | 6196f457 | Nikos Skalkotos | |
61 | 6196f457 | Nikos Skalkotos | echo "exit" > "$target/Windows/SnfScripts/ExtendFilesystem" |
62 | 6196f457 | Nikos Skalkotos | echo "del /Q /F C:\Windows\SnfScripts\ExtendFilesystem" >> \ |
63 | 6196f457 | Nikos Skalkotos | "$target/Windows/Setup/Scripts/SetupComplete.cmd" |
64 | 6196f457 | Nikos Skalkotos | |
65 | 6196f457 | Nikos Skalkotos | echo "@echo off" > "$target/Windows/SnfScripts/ChangeAdminPassword.cmd" |
66 | 6196f457 | Nikos Skalkotos | # For security reasons, overwrite the file before deleting... |
67 | 6196f457 | Nikos Skalkotos | spaces=$(printf "%200s"); |
68 | 6196f457 | Nikos Skalkotos | echo "echo ${spaces// /X} > C:\Windows\SnfScripts\ChangeAdminPassword.cmd" >> \ |
69 | 6196f457 | Nikos Skalkotos | "$target/Windows/Setup/Scripts/SetupComplete.cmd" |
70 | 6196f457 | Nikos Skalkotos | echo "del /Q /F C:\Windows\SnfScripts\ChangeAdminPassword.cmd" >> \ |
71 | 6196f457 | Nikos Skalkotos | "$target/Windows/Setup/Scripts/SetupComplete.cmd" |
72 | 6196f457 | Nikos Skalkotos | |
73 | 6196f457 | Nikos Skalkotos | echo "rmdir C:\Windows\SnfScripts" >> \ |
74 | 6196f457 | Nikos Skalkotos | "$target/Windows/Setup/Scripts/SetupComplete.cmd" |
75 | 6196f457 | Nikos Skalkotos | |
76 | 54080484 | Nikos Skalkotos | exit 0 |
77 | 5d3735b5 | Nikos Skalkotos | |
78 | 5d3735b5 | Nikos Skalkotos | # vim: set sta sts=4 shiftwidth=4 sw=4 et ai : |