Fragensteller
SCCM: TS > erstzten von Variabeln in Unattend.xml

Frage
-
Hallo Zusammen,
ich habe gelesen das der SCCM in einer TS in der Lage ist in einer Unattend.xml vorhandene Variabeln zuersetzen.
http://scug.be/blogs/sccm/archive/2010/02/02/sccm-windows-7-deployments-amp-unattended-xml.aspx
Hat jemand das schon mal beim SCCM 2007 mit SP2 hinbekommen? Denn bei mir scheint das nicht zu funktionieren.
Gruß
Wolfgang
Alle Antworten
-
Hallo Torsten,
ich hab in meiner TS die benötigten Variabeln erstellt und mi inhalt gefüllt. In meiner unattend.xml die ich bei dem Tast "Brtiebssystem anwenden" verwende habe ich an den Betrffenden Stellen %Variabel% eingetragen. Leider werden die Werde nich angewendet. Wenn ich die Werde direkt in die unattend.xml schreibe bekommen ich bei der Win7 installation das was ich haben will.
Kann ich die unattend.xml nach der Installation noch auf dem System finden?
Gruß
Wolfgang
-
ich habe in den unattend.xml, die bei mir unattend-variabel.xml heist, folgende eingetragen...
---
<settings pass="oobeSystem">
<component name="Microsoft-Windows-International-Core" processorArchitecture="x86" 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>%OSDInputLocale%</InputLocale>
<UILanguage>%OSDUILanguage%</UILanguage>
<UILanguageFallback></UILanguageFallback>
<UserLocale>%OSDUserLocale%</UserLocale>
<SystemLocale>%OSDSystemLocale%</SystemLocale>
</component>
</settings>
---Die Variabel habe ich vorerst in der TS mit folgenden Werten eingerichtet...
OSDInputLocale=de-DE; en-US
OSDUILanguage=de-DE
OSDUserLocale=de-DE
OSDSystemLocale=en-USIm smsts.log sind die Variabel alle ohne Fehler deklariert worden. Auch beim übertragen der Unattend_Variabel.xml ist kein Fehler aufgetreten.
An welcher Stelle im log kann man die Variabel zuweisung sehen?
-
Ich hab's mal mit genau der xml ausprobiert => funktioniert bestens. Einzige Ausnahme: ich hab die Variable Sprache genannt, auf de-DE gesetzt und für alle Optionen verwendet (und statt x86 amd64, da ich ein Win7 x64 im Testlab habe).
<settings pass="oobeSystem">
<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>%Sprache%</InputLocale>
<SystemLocale>%Sprache%</SystemLocale>
<UILanguage>%Sprache%</UILanguage>
<UILanguageFallback>%Sprache%</UILanguageFallback>
<UserLocale>%Sprache%</UserLocale>
</component>
</settings> -
Im smsts.log sind die Variabel alle ohne Fehler deklariert worden.
Ich denke nicht, dass so ein Skript hier etwas anderes anzeigt, als das Logfile ... wer trotzdem neugierig ist, der kann folgendes Skript verwenden:
Set objTSvars = CreateObject("Microsoft.SMS.TSEnvironment")
For Each objVar In objTSvars.GetVariables
WScript.Echo objVar & ": " & objTSvars(objVar)
Next -
hier mein XML file
<?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <OOBE> <NetworkLocation>Work</NetworkLocation> </OOBE> </component> <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" 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>%location%</InputLocale> <SystemLocale>%location%</SystemLocale> <UILanguage>%location%</UILanguage> <UILanguageFallback>%location%</UILanguageFallback> <UserLocale>%location%</UserLocale> </component> </settings> <cpi:offlineImage cpi:source="wim:c:/documents%20and%20settings/user/desktop/captureimage/capture.wim#1" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> </unattend>
-
Hallo Torsten,
also das mir den Variabe erstzen scheint nicht richtg zu funtionieren. Und zwar habe ich mal den Beispiel mit %Sprache% aufgegriffen und getestet. Dabei ist auch nicht die Variabel in der Unattendet.xml umgestzt worden, dem im %windir%\panter\unattenedGC\setuperr.log sind vier fehler zu sehen
--- setuperr.log
[MUIUNATTEND.EXE] UILanguage is not installed in the system: %Sprache%. error: 87
[MUIUNATTEND.EXE] Failed to set system locale to "%Sprache%".
[MUIUNATTEND.EXE] Failed in setting current user locale to %Sprache%. Error code is 0x7b
[MUIUNATTEND.EXE] Failed to set user locale to "%Sprache%", or fail to apply the same settings to default user accont/system accounts/new user account. Error code is 0x7b.---
Im smsTS.log sind folgende Punkte bezüglich Variabel und unattend.xml zu finden
--- smsTS.log
Instruction name: Sprache. Instruction pointer: 6
Set a global environment variable _SMSTSCurrentActionName=Sprache
Set a global environment variable _SMSTSNextInstructionPointer=6
Set a global environment variable _SMSTSLogPath=X:\windows\TEMP\SMSTSLog
Expand a string: tsenv.exe "Sprache=de-DE"
Expand a string:
Command line for extension .exe is "%1" %*
Set command line: tsenv.exe "Sprache=de-DE"
Start executing the command line: tsenv.exe "Sprache=de-DE"
!--------------------------------------------------------------------------------------------!
Expand a string: WinPEandFullOS
Executing command line: tsenv.exe "Sprache=de-DE"
Finished with error code 0
Process completed with exit code 0
!--------------------------------------------------------------------------------------------!
Successfully complete the action (Sprache) with the exit win32 code 0...
Successfully copied configuration file E:\_SMSTaskSequence\Packages\001000D8\sprache.xml to E:\_SMSTaskSequence\unattend.xml
...
In den anderen Bereiche wie Rechner Namen, Netzwerkeinstellungen und Treiber finde ich im Log immer den entsprechenden Eintrag da zu.
Gibt es beim ersetzen der Variabeln in der unattend.xml auch einen enteprechenden Eintrag? Wenn Ja, wann sollte er erscheinen?
Gruß
Wolfgang
-
--- setuperr.log
[MUIUNATTEND.EXE] UILanguage is not installed in the system: %Sprache%. error: 87
[MUIUNATTEND.EXE] Failed to set system locale to "%Sprache%".
[MUIUNATTEND.EXE] Failed in setting current user locale to %Sprache%. Error code is 0x7b
[MUIUNATTEND.EXE] Failed to set user locale to "%Sprache%", or fail to apply the same settings to default user accont/system accounts/new user account. Error code is 0x7b.
Hier siehst Du, dass die Variable eben NICHT ersetzt wird (es steht ja noch %Sprache% im Logfile, anstatt zB de-DE).
Wo und wie setzt Du denn diese Variable genau? In der TS mit einem "Set Task Sequence Variable"-Schritt? Wenn ja: wie ist der denn genau konfiguriert? -
Die Variabe setze ich in der TS mit "Tasksequenzvariable festlegen" , Tasksequenzvariable: Sprache und Wert: de-DE.
--- smsTS.log
Instruction name: Sprache. Instruction pointer: 6
Set a global environment variable _SMSTSCurrentActionName=Sprache
Set a global environment variable _SMSTSNextInstructionPointer=6
Set a global environment variable _SMSTSLogPath=X:\windows\TEMP\SMSTSLog
Expand a string: tsenv.exe "Sprache=de-DE"
Expand a string:
Command line for extension .exe is "%1" %*
Set command line: tsenv.exe "Sprache=de-DE"
Start executing the command line: tsenv.exe "Sprache=de-DE"
!--------------------------------------------------------------------------------------------!
Expand a string: WinPEandFullOS
Executing command line: tsenv.exe "Sprache=de-DE"
Finished with error code 0
Process completed with exit code 0
!--------------------------------------------------------------------------------------------!
Successfully complete the action (Sprache) with the exit win32 code 0...
-
Hallo zusammen,
mitlerweile habe ich meine SCCM Infrastruktur neu aufgebaut und alles Funktioniert Prima.
Und das ganze nur weil ich das darunterligende Betriebssysten von 2003 x64 auf 2008 R2 aktualiesien wolte und ich mich für eine Neu installation entschieden hatte, gab es beim Restor der Datrenbank Probleme und ich muste von Null anfangen.Die Datenkank konte ich mitlerweile mittels SQL Reparatur Funktionen wieder in einer VM in einem SCCM zum leben erwecken. Bei der Reparatur wurden aber einige Einträge entfernt, so das ich sie nur noch als Anschaungsobjekt verwenden kann.
Gruß
Wolfgang