fehleranalyse in sccm
DESCRIPTION
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.TRANSCRIPT
OSD Troubleshooting ConfigMgr 2012
Daniel Bühlmann, Netree AG
Partner und Senior Consultant
Mail: [email protected]
Agenda
Vorbeugen ist besser als heilen…
WinPE Boot Images
PXE/WDS – Installation & Konfiguration
PXE/WDS – Boot Prozess und Debugging
OSD – Debugging
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.)
WinPE Boot Images
x86 Sourcepath: \\SITE-SERVERNAME\SMS_XXX\osd\boot\i386\boot.wim
x64 Sourcepath: \\SITE-SERVERNAME\SMS_XXX\osd\boot\x64\boot.wim
x86 WDS: D:\RemoteInstall\SMSImages\boot.XXX00004.wim
x64 WDS: D:\RemoteInstall\SMSImages\boot.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:\sms\bin\x64 oder X:\sms\bin\i386
Startup Script (Enable prestart command):
Benötigte Netzwerk- und MassStorage-Treiber integrieren
Distribute Content (beide Architekturen!)
cscript.exe %~dp0setTime.vbs
REM KB2907591 - cscript.exe %~dp0Read-Set-MachineVar.vbs
wpeutil SetKeyboardLayout 0807:00000807
xcopy %~dp0wmiexplorer.exe X:\WINDOWS\System32\ /c /Y /I
assoc .log=SCCMlogfile
ftype SCCMlogfile="X:\sms\bin\x64\CMTrace.exe" "%%1"
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
PXE aktivieren
DP Properties Enable PXE support for clients
Logfile: [SCCMInstallFolder]\Logs\distmgr.log
wdsutil /initialize-server /reminst:D:\RemoteInstall
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!
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)
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 PXE Start: 2. Datei (=pxeboot.com, aber mit F12 Abfrage!)
wdsnbp.com PXE Start: 1. Datei
SMSIMAGES Boot.XXX00004.wim WDS/SCCM x86 WinPE Boot Image
Boot.XXX00005.wim WDS/SCCM x64 WinPE Boot Image
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_MACHINE\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP 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
PXE – «abortpxe.com»
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-system-uuids-in-sccm-2007/
SMSPXE.log
Error: OS Deployment wird nicht ausgeführt abortpxe.com
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:\Windows\Logs 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
OS Deployment – smsts.log
WinPE Boot (vor der Festplatten Partitionierung):
X:\Windows\Temp\SMSTSlog\smsts.log
WinPE Boot (nach der Festplatten Partitionierung):
X:\SMSTSlog\smsts.log C:\_SMSTaskSequence\Logs\SMSTSlog\smsts.log
Windows Boot (vor der lokalen SCCM Client Installation):
C:\_SMSTaskSequence\Logs\SMSTSlog\smsts.log
Windows Boot (nach der lokalen SCCM Client Installation):
C:\Windows\CCM\Logs\SMSTSLog\smsts.log x86 und x64!
Nach Abschluss der OSD Task Sequence:
C:\Windows\CCM\Logs\smsts.log x86 und x64!
Fragen
Bewertung der Session: Configmgr.ch
Xing: https://www.xing.com/net/cmce
Facebook: https://www.facebook.com/groups/411231535670608/
Linkedin: http://www.linkedin.com
Twitter: https://twitter.com/configmgr_ch
Nächster Event: Freitag 13. Juni Digicomp Bern (begrenzte Anzahl Teilnehmer)
Danke
Troubleshooting Application Deployments
Roman Andres, Netree AG
System Engineer / MCSE
Mail: [email protected]
Blog: http://netecm.netree.ch/blog
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.
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
Das Application Modell
Das Application Modell - Requirements
Application 1
Deployment Type 1A Requirement: OS = Windows 7
Deployment Type 1B Requirement: OS = Windows 8
Deployment Clients evaluieren das Deployment für Application 1 und entscheiden anhand festgelegter Requirements welcher Deployment Type installiert wird.
Installiere Deployment Type 1A
Installiere Deployment Type 1B
Client 1 Windows 7
Client 2 Windows 8
Das Application Modell - Dependencies
Application 1
Deployment Type 1A Dependency: Application 2 – Deployment Type 2 A
Deployment Clients prüfen bzw. stellen sicher, dass der Zielclient die Dependencies erfüllt bevor die eigentliche Application installiert wird.
Installiere Deployment Type 2A
Client
Application 2
Deployment Type 2A
Installiere Deployment Type 1A
Das Application Modell - Supersedence
Application 1 v2.0
Deployment Type 1A V2.0
Deployment Supersedence bietet eine Updatefunktionalität womit sich ältere Application Versionen auf dem Client aktualisieren lassen.
Update von Application 1 v1.0 zu Application 1 v2.0
Client Application 1 v1.0 bereits installiert
Application 1 V1.0
Deployment Type 1A V1.0
Supersedence
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
Was auf dem Client passiert
Was auf dem Client passiert
Policy Retrieval & Evaluation
Application Deployment Evaluation
Neue/Geänderte Application Deployments?
Standard: Alle 60 Minuten
Standard: Alle 7 Tage
Ja
Installation möglich/notwenig?
Ja
Starte Installationsprozess
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
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
Application Deployment Status
Status Beschreibung / Mögliche Aktionen
4000 Unknown • Client hat das Application Deployment noch nicht erhalten/evaluiert
• Client einschalten • Client Netzwerkverbindung prüfen • Warten auf Policy Refresh oder manuell starten
Application Deployment Statusphasen
Kein Status
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
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
Application Deployment Statusphasen
Evaluation
Application Deployment Statusphasen
Status
4000 Unknown • Client einschalten • Client Netzwerkverbindung prüfen • Warten auf Policy Refresh oder manuell starten
Status Beschreibung / Mögliche Aktionen
2001 Waiting for content • Installationsdateien werden heruntergeladen Wenn der Client in diesem Status «festhängt»: • Distribution 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
Vorbereitung - Download
Application Deployment Statusphasen
Vorbereitung - Download
Status
4000 Unknown • Client einschalten • Client Netzwerkverbindung prüfen • Warten auf Policy Refresh oder manuell starten
Status Beschreibung / Mögliche Aktionen
5003 Failed to locate content • Distribution Point prüfen • Client Boundary prüfen
5005 Failed to download dependent content • Client Logs prüfen um herauszufinden um welche 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
Application Deployment Statusphasen
Vorbereitung
Status
4000 Unknown • Client einschalten • Client Netzwerkverbindung prüfen • Warten auf Policy Refresh oder manuell starten
Status Beschreibung / Mögliche Aktionen
2000 In progress • Das Application Deployment wurde gestartet
2004 Waiting for maintenance window • Warten auf Wartungsfenster
2005 Waiting for schedule • Warten auf Installationstermin
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
Application Deployment Statusphasen
Vorbereitung
Status Beschreibung / Mögliche Aktionen
4000 Unknown • Client einschalten • Client Netzwerkverbindung prüfen • Warten auf Policy Refresh oder manuell starten
Status Beschreibung / Mögliche Aktionen
2014 Waiting To Install • Warten auf Installationsbeginn
2015 Waiting Retry • Warten auf erneuten Installationsversuch
2016 Waiting For Presentation Mode • Der Installationsprozess kann erst gestartet werden, wenn der Präsentationsmodus beenden wurde
Installationsprozess
Status Beschreibung / Mögliche Aktionen
4000 Unknown • Warten • Client einschalten • Client Netzwerkverbindung prüfen • Warten auf Policy Refresh oder manuell starten
Status Beschreibung / Mögliche Aktionen
2007 Installing dependent content • Dependencies werden installiert
2002 Installing • Installationsprozess ist im Gange
2003 Restart to continue • Client neu starten um Installation fortzusetzen
2008 Restart to complete • Client neu starten um Installation abzuschliessen
Application Deployment Statusphasen
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
Application Deployment Statusphasen
Installationsprozess abgeschlossen
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
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.
Bewertung der Session: Configmgr.ch Xing: https://www.xing.com/net/cmce
Facebook: https://www.facebook.com/groups/411231535670608/
Linkedin: http://www.linkedin.com
Twitter: https://twitter.com/configmgr_ch
Nächster Event: Freitag 13. Juni Digicomp Bern (begrenzte Anzahl Teilnehmer)
Danke