In ihrem Referat stellten Daniel Bühlmann und Roman Andres hilfreiche Tipps für die Fehler- und Problemanalyse in SCC vor. Dabei wird zeigten sie auf, wie die häufigsten Probleme, die mit SCCM auftreten können, schnell identifiziert werden können und in welchen Situationen welche Logfiles wichtig sein können.
2. Agenda
Vorbeugen ist besser als heilen…
WinPE Boot Images
PXE/WDS – Installation & Konfiguration
PXE/WDS – Boot Prozess und Debugging
OSD – Debugging
3. Vorbeugen ist besser als heilen…
Designkonzept
Namenskonzept
Betriebskonzept / Handbuch
Kein «Over Engineering» betreiben!
Netzwerk Konfiguration (Firewall Settings, IP Helper, etc.)
Pre Requirements gemäss Technet Vorgaben prüfen und konfigurieren
Installation mit einem dedizierten Install Account durchführen
Installation / Konfiguration dokumentieren
Trennung von OS und ConfigMgr Installation unterschiedliche Partitionen
Trennung von ConfigMgr Installation und DP NO_SMS_ON_DRIVE.SMS
Aktuelle SPs und CUs installieren (Hotfixes nach Bedarf) Link
AV Ausschlüsse auf Server gemäss Vorgaben konfigurieren Link
Server Monitoring (Standard Parameter und alle relevanten Services)
Checkliste für Post Installation Tasks erstellen (Boundaries/Groups,
DPs/Groups, Network Access Account, Client Policy, etc.)
4. WinPE Boot Images
x86 Sourcepath: SITE-SERVERNAMESMS_XXXosdbooti386boot.wim
x64 Sourcepath: SITE-SERVERNAMESMS_XXXosdbootx64boot.wim
x86 WDS: D:RemoteInstallSMSImagesboot.XXX00004.wim
x64 WDS: D:RemoteInstallSMSImagesboot.XXX00005.wim
Deploy this boot image from the PXE-enabled distribution point enabled
F8 aktivieren und zusätzliche Scripts und Tools integrieren (Include files for…)
CMTrace.exe ist per Default integriert X:smsbinx64 oder X:smsbini386
Startup Script (Enable prestart command):
cscript.exe %~dp0setTime.vbs
REM KB2907591 - cscript.exe %~dp0Read-Set-MachineVar.vbs
wpeutil SetKeyboardLayout 0807:00000807
xcopy %~dp0wmiexplorer.exe X:WINDOWSSystem32 /c /Y /I
assoc .log=SCCMlogfile
ftype SCCMlogfile="X:smsbinx64CMTrace.exe" "%%1"
Benötigte Netzwerk- und MassStorage-Treiber integrieren
Distribute Content (beide Architekturen!)
5. PXE/WDS – Installation / Konfiguration
Manuelles Hinzufügen der WDS Rolle (Servermanager oder
Powershell) Reboot!
An error occurred while trying to start the Windows Deployment
Services server.
Error Information: 0x906
wdsutil /initialize-server /reminst:D:RemoteInstall
PXE aktivieren
DP Properties Enable PXE support for clients
Logfile: [SCCMInstallFolder]Logsdistmgr.log
Firewall: Ports entsprechend konfigurieren
UDP 67, 68 und 69
Eventuelle fremde PXE/TFTP Server im Netz beachten!
DHCP
Keine Konfiguration der Optionen 66 und 67
Option 60 nur falls DHCP und WDS auf dem selben Server
Routing: 2. IP Helper konfigurieren!
6. PXE/WDS – Start Prozess
1. DHCP DISCOVER from client (asking for IP address and PXE boot
server)
2. DHCP OFFER from DHCP server (offers IP address)
3. DHCP OFFER from WDS server (offers PXE boot server)
4. DHCP REQUEST from client to DHCP server (requesting IP address)
5. DHCP ACK from DHCP server (offering an IP address)
1. DHCP DISCOVER from client (client now has an IP address, but is
still looking for a PXE boot server)
2. DHCP OFFER from DHCP server (will re-offer the same IP address)
3. DHCP OFFER from WDS server (will offer a boot server)
4. DHCP REQUEST from client to WDS server (requesting the boot
server)
5. DHCP ACK from WDS server (this ACK contains the address of the
WDS server, then the name of the WDS server, and the first file the
client should send a TFTP request for to start the boot process:
wdsnbp.com or abortpxe.com)
7. PXE/WDS – [LW]:RemoteInstall
SMSBoot
abortpxe.com falls kein Deployment verfügbar ist oder das PXE Flag = 1
bootmgfw.efi für UEFI BIOS (nur x64)
bootmgr.exe
PXE Start: 3. Datei (Bootloader)
pxeboot.com PXE Start: 2. Datei
pxeboot.n12
wdsnbp.com
SMSIMAGES
PXE Start: 2. Datei (=pxeboot.com, aber mit F12 Abfrage!)
PXE Start: 1. Datei
Boot.XXX00004.wim WDS/SCCM x86 WinPE Boot Image
Boot.XXX00005.wim WDS/SCCM x64 WinPE Boot Image
8. PXE/WDS – Debugging
SMSPXE.log Location
Error (Beispiel):
PXE-E32: TFTP open timeout.
Lösung:
“The PXE client was able to get a DHCP address and a boot file name, but timed out when attempting
to download the boot file using TFTP or MTFTP”
Das TFTP Protokoll erlaubt keine Segmentierung der einzelnen UDP Pakete der max. Wert muss der
MTU Konfiguration (NIC und Netzwerk) angepasst werden.
Pfad: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Name: MaximumBlockSize
Type: REG_DWORD
Value: 1292
Details: http://mytechnicalsupportjournal.blogspot.ch/2012/02/sccm-unable-to-reimage.html
TFTP Error Codes: http://h18013.www1.hp.com/products/servers/management/rdp/knowledgebase/00000138.html
9. PXE – «abortpxe.com»
Error:
OS Deployment wird nicht ausgeführt abortpxe.com
SMSPXE.log
MAC=E8:39:35:36:1C:91 SMBIOS GUID=00020003-0004-0005-0006-000700080009
Device found in the database. MacCount=1 GuidCount=1
Executing GetBootAction(8368, SABDN049)
No Boot Action for Device (8368) found
ProcessDatabaseReply: No Advertisement found in Db for device
Lösung:
Doppelte Hostobjekte (MAC und/oder SMBIOS GUID) in der SCCM DB vorhanden!
SCCM speichert die SMBIOS GUID in den ersten 3 Segmenten mit umgekehrter LB/HB Variante ab:
Gelesene SMBIOS GUID beim Startvorgang Client und auch im SMSPXE.log:
00020003-0004-0005-0006-000700080009
Abgespeicherte SMBIOS GUID in der SCCM DB:
03000200-0400-0500-0006-000700080009
Details:
http://myitforum.com/myitforumwp/2011/10/21/osdtask-sequencepxe-duplicate-smbios-guids-systemuuids-in-sccm-2007/
10. OS Deployment – Wichtige Punkte
Content:
Content Distribution für alle benötigten Images und Packages
Boundaries
Network Access Account
Scripts:
Logfile schreiben (am Ende der TS nach C:WindowsLogs kopieren)
Benutzerkontext beachten!
PowerShell: powershell.exe -command "Set-ExecutionPolicy Unrestricted"
Updates:
OSD nach jedem Patchday neu testen!
Updates mit mehrfachen Neustarts lassen sich nicht in einer TS installieren:
http://support.microsoft.com/kb/2894518
11. OS Deployment – smsts.log
WinPE Boot (vor der Festplatten Partitionierung):
X:WindowsTempSMSTSlogsmsts.log
WinPE Boot (nach der Festplatten Partitionierung):
X:SMSTSlogsmsts.log C:_SMSTaskSequenceLogsSMSTSlogsmsts.log
Windows Boot (vor der lokalen SCCM Client Installation):
C:_SMSTaskSequenceLogsSMSTSlogsmsts.log
Windows Boot (nach der lokalen SCCM Client Installation):
C:WindowsCCMLogsSMSTSLogsmsts.log x86 und x64!
Nach Abschluss der OSD Task Sequence:
C:WindowsCCMLogssmsts.log x86 und x64!
15. Das Application Modell
Application
Definiert die Metainformationen einer Applikation und dient als Container für deren
Deployment Types
Enthält einen oder mehrere Deployment Types
Deployment Type
Definiert die Installations- / Deinstallationsroutine für eine bestimmte Technologie
MSI
Script
App-V
Windows App
usw.
16. Das Application Modell
Deployment Type
Definiert die Detection Methode mit deren Hilfe der Deployment Type (und somit die
Application) auf einem Client identifiziert werden kann
Definiert Requirements
Requirements dienen dazu zu prüfen, ob eine Application auf einem Zielclient
installierbar ist bzw. helfen dem Zielclient zu entscheiden welcher Deployment Type
installiert werden soll
Definiert Dependencies
Existenz von abhängigen Deployment Types wird vor der Installation geprüft
Definiert das Verhalten des Clients bei spezifischen Exit Codes
Success (no reboot)
Soft/Hard reboot
Fast retry
17. Das Application Modell - Requirements
Deployment
Application 1
Deployment Type 1A
Requirement: OS = Windows 7
Deployment Type 1B
Requirement: OS = Windows 8
Client 1
Windows 7
Installiere Deployment
Type 1A
Clients evaluieren das Deployment
für Application 1 und entscheiden
anhand festgelegter Requirements
welcher Deployment Type
installiert wird.
Client 2
Windows 8
Installiere Deployment
Type 1B
18. Das Application Modell - Dependencies
Clients prüfen bzw. stellen sicher,
dass der Zielclient die
Dependencies erfüllt bevor die
eigentliche Application installiert
wird.
Deployment
Application 1
Deployment Type 1A
Dependency: Application 2 – Deployment Type 2 A
Client
Application 2
Deployment Type 2A
Installiere Deployment
Type 2A
Installiere Deployment
Type 1A
19. Das Application Modell - Supersedence
Deployment
Application 1 v2.0
Deployment Type 1A V2.0
Supersedence
Application 1 V1.0
Supersedence bietet eine
Updatefunktionalität womit sich
ältere Application Versionen auf
dem Client aktualisieren lassen.
Client
Application 1 v1.0 bereits installiert
Deployment Type 1A V1.0
Update von Application 1 v1.0 zu
Application 1 v2.0
20. Was auf dem Client passiert
Policy Retrieval & Evaluation (Policy Refresh)
Erkennt neue und geänderte Application Deployments und forciert wenn nötig eine
Application Deployment Evaluation
Application Deployment Evaluation
Evaluiert die auf dem Client bestehenden Application Deployments
Prüft die Existenz der Applications mit Hilfe der Detection Methoden
Prüft die Requirements der Applications
Prüft die Dependencies der Applications
Prüft die Supersedence der Applications
Entscheidet welche Deployment Types auf dem Client installiert werden können und
startet deren Installationsprozesse wenn nötig
21. Was auf dem Client passiert
Standard: Alle 7 Tage
Standard: Alle 60 Minuten
Application Deployment Evaluation
Policy Retrieval & Evaluation
Installation möglich/notwenig?
Ja
Neue/Geänderte Application Deployments?
Ja
Starte Installationsprozess
22. Application Deployment Status
Es gibt keinen «Endstatus»
Application Deployments werden regelmässig re-evaluiert
«Application Deployment Evaluation Cycle» (Standard alle 7 Tage)
Alle Application Deployments
«Policy Retrieval & Evaluation Cycle» (Standard alle 60 Minuten)
Bei neuen Application Deployments
Bei bestehenden Application Deployments wenn eine Änderung an Application oder Deployment Type
vorgenommen wird
23. Application Deployment Status
Statuskategorien
Unknown
Kein Status. Client hat das Application Deployment noch nicht erhalten/evaluiert
Requirements not met
Client erfüllt die Bedingungen keines Deployment Types. Es wird keine Installation
stattfinden
In Progress
Client downloaded entweder die Dateien für die Installation oder befindet sich bereits
mitten im Installationsprozess
Error
Ein Fehler ist aufgetreten. Dies muss nicht zwingend ein Fehler des Installationspakets
sein.
Success
Die Application wurde entweder auf dem Client erkannt oder wurde erfolgreich
installiert
24. Application Deployment Statusphasen
Kein Status
Status
4000
Beschreibung / Mögliche Aktionen
Unknown
• Client hat das Application Deployment noch nicht
erhalten/evaluiert
• Client einschalten
• Client Netzwerkverbindung prüfen
• Warten auf Policy Refresh oder manuell starten
25. Application Deployment Statusphasen
Evaluation
Status
Beschreibung / Mögliche Aktionen
1001
Already Compliant
• Keine Installation/Deinstallation notwendig
5001
Evaluation failed
• Detection Methode auf Fehler prüfen (z.B. Detection
Script)
• Requirements auf Fehler prüfen (z.B. Requirement
Script)
5006
Conflicts with another application deployment
• Application Deployments auf mögliche Konflikte prüfen
mit Fokus auf Superseded Applications
26. Application Deployment Statusphasen
Evaluation
Status
Beschreibung / Mögliche Aktionen
3000
Requirements not met
• Client erfüllt die Requirements keines Deployment
Types
• Auf dem Client fehlt eine Dependency die nicht
automatisch installiert wird
• Die Application wird durch eine andere Application
superseded
3001
Host Platform Not Applicable
• Prüfung von Requirements / Detection Methode konnte
nicht durchgeführt werden. Wenn z.B. ein Requirement
oder eine Detection Methode aus einem PowerShell
Script besteht muss auf dem Zielhost PowerShell
installiert sein
27. Application Deployment Statusphasen
Vorbereitung - Download
Status
Beschreibung / Mögliche Aktionen
2001
4000
Waiting for content
Unknown
• Installationsdateien werden heruntergeladen
Client einschalten
Wenn derNetzwerkverbindung prüfen
• Client Client in diesem Status «festhängt»:
• DistributionPolicy Refresh oder manuell starten
Warten auf Point prüfen
• Client Boundary prüfen
2006
Downloading dependent content
• Installationsdateien von Dependencies werden
heruntergeladen
Wenn der Client in diesem Status «festhängt»:
• Distribution Point prüfen
• Client Boundary prüfen
2009
Content downloaded
• Installationsdateien wurden heruntergeladen
28. Application Deployment Statusphasen
Vorbereitung - Download
Status
Beschreibung / Mögliche Aktionen
5003
4000
Failed to locate content
Unknown
5005
Failed to download dependent content
•
•
•
•
Distribution Point prüfen
Client einschalten
Client Boundary prüfen
Netzwerkverbindung prüfen
Warten auf Policy um herauszufinden um welche
Client Logs prüfenRefresh oder manuell starten
Dependency es sich handelt
• Distribution Point prüfen (Dependencies)
• Client Boundary prüfen
5009
Failed to download superseded deployment type
• Distribution Point prüfen (Supersedence)
• Client Boundary prüfen
29. Application Deployment Statusphasen
Vorbereitung
Status
Beschreibung / Mögliche Aktionen
2000
4000
In progress
Unknown
2004
Waiting for maintenance window
2005
Waiting for schedule
•
•
•
•
•
2010
Waiting for update
• Warten auf Update Installation
2011
Waiting for user session reconnect
• Damit der Installationsprozess gestartet werden kann,
muss die Benutzersession wiederhergestellt werden
2012
Waiting for user logoff
• Damit der Installationsprozess gestartet werden kann,
muss sich der angemeldete Benutzer abmelden
2013
Waiting for user logon
• Damit der Installationsprozess gestartet werden kann,
muss ein Benutzer angemeldet sein
Das Application Deployment wurde gestartet
Client einschalten
Client Netzwerkverbindung
Warten auf Wartungsfensterprüfen
Warten auf Policy Refresh oder manuell starten
Warten auf Installationstermin
30. Application Deployment Statusphasen
Vorbereitung
Status
Beschreibung / Mögliche Aktionen
2014
4000
Waiting To Install
Unknown
2015
Waiting Retry
2016
Waiting For Presentation Mode
•
•
•
•
•
Warten auf Installationsbeginn
Client einschalten
Client Netzwerkverbindung prüfen
Warten auf erneuten Installationsversuch
Warten auf Policy Refresh oder manuell starten
Der Installationsprozess kann erst gestartet werden,
wenn der Präsentationsmodus beenden wurde
31. Application Deployment Statusphasen
Installationsprozess
Status
Beschreibung / Mögliche Aktionen
2007
4000
Installing dependent content
Unknown
2002
Installing
2003
Restart to continue
2008
Restart to complete
•
•
•
•
•
•
•
Dependencies werden installiert
Warten
Client einschalten
Installationsprozess ist im Gange
Client Netzwerkverbindung prüfen
Client neu starten Refresh oder manuell starten
Warten auf Policy um Installation fortzusetzen
Client neu starten um Installation abzuschliessen
32. Application Deployment Statusphasen
Installationsprozess abgeschlossen
Status
Beschreibung / Mögliche Aktionen
1000
Success
• Installation/Deinstallation wurde erfolgreich abgeschlossen
5007
Waiting Retry
• Installationsfehler -> Fast Retry Exit Code, Installation wird in Kürze
erneut ausgeführt
• SCCM Logfiles, Setup Logfiles und Event Viewer prüfen
5008
Failed to uninstall superseded
deployment type
• Installationsfehler -> Fehler bei Supersedence Deinstallation
• SCCM Logfiles prüfen und ermitteln, welcher Deployment Type nicht
deinstalliert werden konnte, Setup Logfiles und Event Viewer prüfen
5004
Dependency installation failed
• Installationsfehler -> Fehler bei Dependency Installation
• SCCM Logfiles prüfen und ermitteln, welche Dependecy nicht installiert
werden konnte, Setup Logfiles und Event Viewer prüfen
5000
5001
Deployment failed
• Installationsfehler -> Fehler bei Installation
• SCCM Logfiles, Setup Logfiles und Event Viewer prüfen
33. Logfiles
AppDiscovery.log
Prüft ob die auf den Client verteilten Applications bereits installiert sind oder nicht
AppIntentEval.log
Prüft ob die benötigten Dependencies auf dem Client installiert sind
AppEnforce.log
Führt die Installationsprozesse aus. Im Logfile enthalten sind der
Kommandozeilenaufruf für das Setup und der Exit Code. Am Ende eines
Installationsprozesses wird geprüft ob eine Application mit deren Detection
Methode erkannt werden kann oder nicht.
CAS.log / ContentTransferManager.log / DataTransferService.log
Download von Installationsdateien
34. Noch ein Tipp zu Exit Codes
Prüfen ob sich das Setupprogramm an den Windows Standard hält und die
zugehörigen Fehlermeldungen verwendet werden oder ob eigene
Fehlermeldungen verwendet werden (bei Zweifel siehe Logfile des
Setupprogramms)
Beispiel
Application Deployment steht auf Fehler 5001 Deployment failed.
Exit Code ist 9. Die Konsole zeigt die zugehörige Windows Fehlermeldung an: «The
storage control block address is invalid».
Das Setupprogramm hielt sich aber nicht an den Standard. Durch Analyse des Logfiles
des Setupprogramms liess sich ableiten dass Exit Code 9 bedeuted, dass die Installation
nicht ausgeführt werden kann, solange der Internet Explorer geöffnet ist.