Windows-11-Setup

Die Windows-Antwortdatei und das versteckte Passwort

Mit einer Ant­wort­da­tei (Ans­wer File) im XML-For­mat lässt sich die Win­dows-Instal­la­ti­on auto­ma­ti­sie­ren. Das ist für Benut­zer inter­es­sant, die Win­dows häu­fi­ger neu instal­lie­ren, etwa für Test­zwe­cke, oder regel­mä­ßig meh­re­re Win­dows-Rech­ner ein­rich­ten müs­sen, bei­spiels­wei­se für Schu­lun­gen. Neben­bei ermög­licht die Ant­wort­da­tei auch eine Kon­fi­gu­ra­ti­on, die der stan­dard­mä­ßi­ge Set­up-Assis­tent nicht bie­tet. Man kann zum Bei­spiel bei Win­dows 10 und 11 gleich ein loka­les Kon­to erstel­len und damit den Zwang zum Micro­soft-Kon­to umge­hen.

Das Stan­dard-Tool für die Erzeu­gung von Ant­wort­da­tei­en ist der Win­dows Sys­tem Image Mana­ger (SIM). Er lässt sich über das Win­dows ADK instal­lie­ren („Bereit­stel­lungs­tools“). Etwas ein­fa­cher und kom­for­ta­bler ist der online ver­füg­ba­re Win­dows Ans­wer File Gene­ra­tor.

In die­sem Arti­kel geht es nur um einen Abschnitt in der Ant­wort­da­tei, der für die auto­ma­ti­sche Erstel­lung eines loka­len Kon­tos ver­ant­wort­lich ist. Viel­leicht habe ich es über­le­sen oder viel­leicht ist die­ser Abschnitt tat­säch­lich nicht aus­rei­chend doku­men­tiert.

Wenn man den Abschnitt mit dem Win­dows Sys­tem Image Mana­ger bear­bei­tet, fällt auf, dass bei „Plain Text“ die Vor­ga­be „fal­se“ lau­tet, was sich auch nicht ändern lässt. Ver­gibt man kein Pass­wort, steht hin­ter­her

                    <Password>
                        <Value>UABhAHMAcwB3AG8AcgBkAA==</Value>
                        <PlainText>false</PlainText>
                    </Password>

in der XML-Datei. Ver­gibt man das Pass­wort „Geheim“, wird dar­aus

                    <Password>
                        <Value>RwBlAGgAZQBpAG0AUABhAHMAcwB3AG8AcgBkAA==</Value>
                        <PlainText>false</PlainText>
                    </Password>

Das Pass­wort erscheint also nicht im Klar­text in der Ant­wort­da­tei, was aus Sicher­heits­grün­den sinn­voll ist. Sieht man sich das For­mat des ver­steck­ten Pass­wort-Strings an, kommt man schnell dar­auf, dass es sich um einen ein­fa­chen Base64-String han­delt. Doch war­um wird ein Wert ein­ge­tra­gen, auch wenn man kein Pass­wort ver­gibt?

Mit einem Power­shell-Script kann man den Pass­wort-String enko­die­ren und kodie­ren:

$EncodedText = "UABhAHMAcwB3AG8AcgBkAA=="
$DecodedText = [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))
$DecodedText 

$Text ="Password"
$Bytes = [System.Text.Encoding]::Unicode.GetBytes($Text)
$EncodedText = [Convert]::ToBase64String($Bytes)
$EncodedText

Die Aus­ga­be im Ter­mi­nal lau­tet „Pass­word“ und „UABhAHMAcwB3AG8AcgBkAA==“. Bei einem lee­ren Pass­wort trägt der Win­dows Sys­tem Image Mana­ge also den enko­dier­ten String für „Pass­word“ ein. Deko­diert man für mein Bei­spiel „RwBlAGgAZQBpAG0AUABhAHMAcwB3AG8AcgBkAA==“ ergibt sich „Geheim­Pass­word“. An den ein­ge­ge­be­nen String wird also immer „Pass­word“ ange­hängt. Wird nur „Pass­word“ ver­wen­det, han­delt es sich um ein lee­res Pass­wort. Das ist auf jeden Fall etwas merk­wür­dig, aber im Micro­soft-Uni­ver­sum viel­leicht sinn­voll. Ein beson­de­re Sicher­heit bie­ten die Ver­schleie­rung nicht, aber immer­hin lässt sich das Pass­wort nicht ohne wei­te­res im Klar­text ent­zif­fern.

Inter­es­san­te Beob­ach­tung neben­bei: Wenn „Pass­word“ nicht im enko­dier­ten String ent­hal­ten ist, kann Win­dows die Ant­wort­da­tei nicht ver­ar­bei­ten und bricht mit einem Feh­ler im Abschnitt „oobe­Sys­tem“ ab.

Für mein Tool ESD File Conver­ter benö­tig­te ich die Base64-Kodie­rung in Del­phi. Das funk­tio­niert mit fol­gen­der Funk­ti­on:

uses [...]  IdCoderMIME,IdGlobal;

function CreateBase64Password(PlainTextPassword: String): String;
var
Encoder: TIdEncoderMIME;
begin
  Encoder := TIdEncoderMIME.Create(nil);
  Result := Encoder.Encode(PlainTextPassword+'Password', IndyTextEncoding_UTF16LE);
  Encoder.Free;
end;

//Aufruf mit  Encoded:=CreateBase64Password('Mein Passwort');

Im ESD File Con­ver­ter lässt sich auf der Regis­ter­kar­te „Win11-Bypass-ISO“ aus dem ISO des Win­dows-Ori­gi­nal-Instal­la­ti­ons­me­di­ums ein neu­es ISO mit einer Ant­wort­da­tei erstel­len. Wäh­len Sie die Opti­on „Ant­wort­da­tei (autom. Instal­la­ti­on)“ und kli­cken Sie auf „Ant­wort­da­tei anpas­sen“. Danach tra­gen Sie Benut­zer­na­me, Pass­wort (optio­nal), Rech­ner­na­me und Arbeits­grup­pe ein. Das Tool ver­wen­det als Vor­la­ge „unattend_x64_template.xml“, wenn ein Pass­wort ver­ge­ben ist. Andern­falls „unattend_x64_template_logonpasswordchg.xml“ für ein lee­res Pass­wort. Der Benut­zer wird nach einem Win­dows-Neu­start auf­ge­for­dert, ein Pass­wort zu ver­ge­ben.

In den XML-Datei­en sind außer­dem die Regis­try-Ein­trä­ge für die Win­dows-11-Instal­la­ti­on ohne Prü­fung der Hard­ware ent­hal­ten. Das ermög­licht die Instal­la­ti­on auf älte­ren, offi­zi­ell nicht unter­stütz­ten PCs.

Bit­te beach­ten Sie: Die Ant­wort­da­tei instal­liert ohne wei­te­re Anpas­sun­gen ein deutsch­spra­chi­ges Win­dows 10 oder 11.


Schlagwörter:


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Neueste Kommentare

  1. "com.sun.star.ucb.InteractiveAugmentedIOException": Einen derartigen Fehler hatte ich bisher nicht. Möglich, aber eher unwahrscheinlich ist, dass es an Windows 7 liegt. Das…


Die Website durchsuchen