Installation von win10-1709 (mit Paket win10-x64_4.0.7.4-6.opsi) läuft mit Property "administrator_password" durch, auch das Umsetzen des Namens "Administrator" in "Administrateur" oder Administrador" durch das phyton-Skript passt.
Nun aber zu den Fehlern:
1. "Skinnable opsi-winst/opsi-script" wird nicht gezogen.
2. Auf dem Client bleibt (in "C:\Windows\Panther\") das File "unattend.xml" zurück, inkl. Admin-Passwort!
Das kommt wohl (und wie ich es sehe), weil in der unattend.xml (auch in Eurer Vorlage) im Abschnitt "specialize" ein auskommentierter Abschnitt ist. Das Phyton-Skript ersetzt aber das Passwort, Windows widerum ersetzt während der Installation das Passwort NICHT in *SENSITIVE*DATA*DELETED*. (weil auskommentiert?)
Außerdem steht dieser Abschnitt in der "verarbeiteten" unattended.xml, auf den sich allerdings nicht verzichten lässt:
Code: Alles auswählen
<RunSynchronousCommand wcm:action="add">
<Description>Passwd Admin Account</Description>
<Order>2</Order>
<Path>cmd.exe /c net user Administrator nt123456</Path>
</RunSynchronousCommand>
3. Auf dem Client bleibt (in "C:\Windows\Panther\") das File "setupact.log" zurück, inkl. Admin-Passwort!
Vielleicht könnte ja für die Fehler 2 & 3 ein kleines Powershell-Skriptchen in \opsi\postinst.d Abhilfe schaffen:
Code: Alles auswählen
$alt="nt123456"
$neu="*SENSITIVE*DATA*DELETED*"
foreach ($f in gci -r -include "*.xml") { (gc $f.fullname) | foreach {$_ -replace $alt, $neu } | sc $f.fullname }
foreach ($f in gci -r -include "*.log") { (gc $f.fullname) | foreach {$_ -replace $alt, $neu } | sc $f.fullname }
4. Auf dem Client bleibt (in "C:\opsi.org\log\cfg\") das File "sysconf.ini" zurück, inkl. Admin-Passwort!
Für Fehler 4: Habe die "99_cleanup.cmd" wie folgt angepasst:
Code: Alles auswählen
rem shutdown.exe: parameter t von 1 auf 5 Sekunden angepasst... sicherheitshalber...
rem --- Disable powershell
powershell.exe set-executionpolicy Undefined
rem --- Cleanup
set cleanup_script=%tmp_dir%\cleanup.cmd
echo [%date% %time%] Writing cleanup script %cleanup_script%
REM NEU - START
echo del %SYSTEMDRIVE%\opsi.org\log\cfg\sysconf.ini /F >>%cleanup_script%
REM NEU - ENDE
rem this is NT5:
echo shutdown.exe -r -f -t 1 -c "Opsi Reboot" >>%cleanup_script%
rem this is NT6:
echo shutdown.exe /l /r /t:5 "Opsi Reboot" /y /c >>%cleanup_script%
if exist "%ProgramFiles%(x86)\opsi.org\opsi-client-agent\opsi-winst\shutdown.exe" goto :64bitsystem
echo "%ProgramFiles%\opsi.org\opsi-client-agent\opsi-winst\shutdown.exe" /l /r /t:5 "Opsi Reboot" /y /c >>%cleanup_script%
echo "%ProgramFiles%\opsi.org\opsi-client-agent\utilities\shutdown.exe" /l /r /t:5 "Opsi Reboot" /y /c >>%cleanup_script%
goto :preruncleanup
:64bitsystem
echo "%ProgramFiles%(x86)\opsi.org\opsi-client-agent\opsi-winst\shutdown.exe" /l /r /t:5 "Opsi Reboot" /y /c >>%cleanup_script%
echo "%ProgramFiles%(x86)\opsi.org\opsi-client-agent\utilities\shutdown.exe" /l /r /t:5 "Opsi Reboot" /y /c >>%cleanup_script%
:preruncleanup
echo rmdir /S /Q %SYSTEMDRIVE%\opsi.org\tmp >>%cleanup_script%
:runcleanup
echo [%date% %time%] Executing cleanup script %cleanup_script%
%cleanup_script%
5. Falsche Ersetzungen in der unattended.xml?
Ich stolpere über die mit einem "*" gekennzeichneten Zeilen:
Code: Alles auswählen
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>#@system_keyboard_layout*#</InputLocale>
<SystemLocale>#@system_language*#</SystemLocale>
* <UILanguage>#@system_language*#</UILanguage>
* <UILanguageFallback>#@system_language*#</UILanguageFallback>
<UserLocale>#@system_language*#</UserLocale>
</component>
Code: Alles auswählen
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SetupUILanguage>
<UILanguage>#@winpe_uilanguage*#</UILanguage>
<WillShowUI>OnError</WillShowUI>
</SetupUILanguage>
<InputLocale>#@winpe_inputlocale*#</InputLocale>
<SystemLocale>#@system_language*#</SystemLocale>
<UILanguage>#@winpe_uilanguage*#</UILanguage>
* <UILanguageFallback>#@winpe_uilanguage_fallback*#</UILanguageFallback>
<UserLocale>#@winpe_uilanguage*#</UserLocale>
<LayeredDriver>1</LayeredDriver>
</component>
Code: Alles auswählen
[MUIUNATTEND.EXE] Failed to set es-ES as UILanguageFallback. error:87
[MUIUNATTEND.EXE] Failed to set es-ES as UILanguageFallback. error:87
JMS