diff --git a/src/install.sh b/src/install.sh index 93a225c..5aefed4 100644 --- a/src/install.sh +++ b/src/install.sh @@ -624,7 +624,7 @@ updateXML() { local asset="$1" local language="$2" - local culture region keyboard + local culture region admin pass keyboard culture=$(getLanguage "$language" "culture") @@ -649,16 +649,21 @@ updateXML() { fi if [ -n "$USERNAME" ]; then - sed -i "s/where name=\"Docker\"/where name=\"$USERNAME\"/g" "$asset" sed -i "s/Docker<\/Name>/$USERNAME<\/Name>/g" "$asset" + sed -i "s/where name=\"Docker\"/where name=\"$USERNAME\"/g" "$asset" sed -i "s/Docker<\/FullName>/$USERNAME<\/FullName>/g" "$asset" sed -i "s/Docker<\/Username>/$USERNAME<\/Username>/g" "$asset" fi if [ -n "$PASSWORD" ]; then - sed -i "s/password<\/Value>/$PASSWORD<\/Value>/g" "$asset" - sed -z "s/.........../\n $PASSWORD<\/Value>/g" -i "$asset" - sed -z "s/.............../\n $PASSWORD<\/Value>/g" -i "$asset" + pass=$(printf '%s' "${PASSWORD}Password" | iconv -f utf-8 -t utf-16le | base64) + admin=$(printf '%s' "${PASSWORD}AdministratorPassword" | iconv -f utf-8 -t utf-16le | base64) + sed -i "s/password<\/Value>/$admin<\/Value>/g" "$asset" + sed -i "s/true<\/PlainText>/<PlainText>false<\/PlainText>/g" "$asset" + sed -z "s/<Password>...........<Value \/>/<Password>\n <Value>$pass<\/Value>/g" -i "$asset" + sed -z "s/<Password>...............<Value \/>/<Password>\n <Value>$pass<\/Value>/g" -i "$asset" + sed -z "s/<AdministratorPassword>...........<Value \/>/<AdministratorPassword>\n <Value>$admin<\/Value>/g" -i "$asset" + sed -z "s/<AdministratorPassword>...............<Value \/>/<AdministratorPassword>\n <Value>$admin<\/Value>/g" -i "$asset" fi return 0