Haikos Blog Blog von Haiko Hertes zu allen Themen rund um Microsoft und Datacenter

24Mrz/131

SCCM2012: Content-Prestaging / Vorab bereitgestellte Inhalte

Oft müssen Content-Daten - z.B. in Form von WIM-Dateien für OSD - von einem Distribution Point (DP) zu einem anderen übertragen werden. Insbesondere bei größeren Dateien kann dies länger dauern, ein Versand der Daten auf dem Postweg wäre schneller.

Für diese Fälle bietet SCCM die Möglichkeit, Inhalte "vorab bereitzustellen", sie quasi auf einem DP zu exportieren, um sie an einem anderen zu importieren. Hierbei ist zu beachten, dass einen Unterschied macht, ob man den selben Content, den man an einer Stelle exportiert hat an einer anderen importiert, oder den Content mit Hilfe des ursprünglichen (z.B. WIM-)Files neu erstellt. Beim neu erstellen erhält der Content z.B. eine andere ID!

Die notwendigen Schritte sind die folgenden:

1. Content exportieren ("Datei für vorab bereitgestellten Inhalt erstellen")

Dazu muss via Rechtsklick auf den jeweiligen Content die Option "Datei für vorab bereitgestellten Inhalt erstellen" ausgewählt werden. Nun muss zum einen der Speicherort angegeben werden und zum zweiten der DP, von dem aus die Datei extrahiert werden soll. Am Ende hat man eine PKGX-Datei, eine gepackte Paketdatei. In dieser sind auch die Metadaten des Inhaltes enthalten. Es ist auch möglich, mehrere Content-Dateien in einem gemeinsamen PKGX-File zu exportieren.

4

 

2. Content an anderen DP verbringen

Hierzu muss die PKGX-Datei an den DP gebracht werden. Dies kann z.B. via DVD oder USB-Datenträger, aber auch per SMB-Filetransfer erfolgen.

3. DP für vorab bereitgestellten Inhalt aktivieren

Bevor Daten (Content) an einem DP importiert werden können, muss dieser erst für vorab bereitgestellte Inhalte aktiviert werden. Dies geschieht in den Eigenschaften des jeweiligen DPs:

2

3

 

4. Content importieren

Für den Import gibt es keine GUI, dies muss über Kommandozeile erfolgen. Dazu verwendet man extractcontent.exe aus dem BIN-Verzeichnis der SCCM-Installation. Mit dem Schalter /p wird das Paket angegeben, /s sorgt dafür, dass bereits vorhandener Content übersprungen wird.

5

 

Nun steht der Content am entfernten DP zur Verfügung!

13Mrz/130

SCCM2012: Fehler 0x80070002 während OSD / PXE

Mal wieder ein Fehler, den ich hier festhalten möchte, obwohl diesmal recht trivial.

Während einer PXE-gestützten Betriebssysteminstallation (OSD) trat nach der Partitionierung und Formatierung der Festplatte der Fehler 0x80070002 auf:

SCCM_0x80070002

 

Ein Blick in das Log-File war leider nur mäßig hilfreich:

SCCM_0x80070002_Log

 

Da der nächste Schritt, der nun also nicht erfolgreich bearbeitet wurde, das Kopieren der WIM-Datei gewesen wäre, vermutete ich ein Problem beim Zugriff auf dem DP, und meine Vermutung fand ihre Bestätigung:

Es war einfach kein Network Access Account (Netzwerkzugriffskonto) angegeben!

Dies lässt sich recht einfach erreichen, ich denke die Bilder sind aussagekräftig genug:

SCCM_0x80070002_OSDP

SCCM_0x80070002_SCCMNAA

 

UPDATE: Ich habe eben festgestellt, dass dieser Fehler auch trotz korrekt konfiguriertem NAA auftreten kann. In meinem Fall war die Fehlerursache dann auch eine ganz andere: Es fehlte einer Bedingungen für Distribution Points, nämlich die "Windows-Authentifizierung" des IIS!

Die vollständigen Vorbedingungen lassen sich im Übrigen hier nachlesen: http://technet.microsoft.com/en-us/library/gg682077.aspx#BKMK_SupConfigSiteSystemReq 

12Mrz/130

SCCM2012: CcmSetup failed with error code 0x80004005 bzw. 0x800b0101

Ich hatte heute mal wieder ein kleineres Problem mit dem SCCM 2012 SP1, das sich wie folgt äußerte:

Auf einem Windows 7 Client wollte ich per Push-Installation den CM-Client installieren. Dies schlug jedoch mehrfach fehl, obwohl auf den ersten Blick alles in Ordnung war. Im Logfile unter C:\Windows\ccmsetup\Logs war zu lesen:

[LOG[Couldn't verify 'C:\windows\ccmsetup\MicrosoftPolicyPlatformSetup.msi' authenticode signature. Return code 0x800b0101]LOG]!><time="15:09:23.921-60" date="03-12-2013" component="ccmsetup" context="" type="3" thread="1600" file="util.cpp:1236">
[LOG[A Fallback Status Point has not been specified. Message with STATEID='316' will not be sent.]LOG]!><time="15:09:23.921-60" date="03-12-2013" component="ccmsetup" context="" type="1" thread="1600" file="ccmsetup.cpp:9428">
[LOG[InstallFromManifest failed 0x80004005]LOG]!><time="15:09:23.921-60" date="03-12-2013" component="ccmsetup" context="" type="3" thread="1600" file="ccmsetup.cpp:7086">
[LOG[CcmSetup failed with error code 0x80004005]LOG]!><time="15:09:23.921-60" date="03-12-2013" component="ccmsetup" context="" type="1" thread="1624" file="ccmsetup.cpp:10544">

Insbesondere dieser Eintrag machte mich etwas stutzig:

Couldn't verify 'C:\windows\ccmsetup\MicrosoftPolicyPlatformSetup.msi' authenticode signature. Return code 0x800b0101

Nach kurzer Suche war die Fehlerquelle gefunden: Ich hatte das erste RTM-Release vom SCCM2012SP1 installiert. Hier gibt es ein Problem mit Zeitstempeln digitaler Signaturen. Daher wurde am 25.01.2013 ein Re-release des SP1 veröffentlicht. Mit diesem wäre der Fehler nicht aufgetreten.

Es gibt aber auch eine andere Lösung, ohne den SCCM neu installieren zu müssen: Microsoft hat in der KB einen entsprechenden Artikel samt passendem Hotfix veröffentlicht:

http://support.microsoft.com/kb/2801987/de

Der Direktlink zum Hotfix:

http://hotfixv4.microsoft.com/ConfigMgrV5/sp1/ConfigMgr_2012_SP1_CU0_KB2801987_ENU/05.00.7804.1108/free/457899_ENU_x64_zip.exe

 

Hinweis zu den ISOs:

mu_system_center_2012_configuration_manager_and_endpoint_protection_with_sp1_x86_x64_dvd_1360357

-> Das ist das erste Release (RTM) - fehlerhaft

mu_system_center_2012_configuration_manager_and_endpoint_protection_with_sp1_x86_x64_dvd_1565907

-> Das ist das bereinigte Re-Release

9Mrz/130

SCCM2012: Fehler beim Installieren einer neuen Primary Site in bestehender Hierarchie

Folgender Fehler ist mir heute begegnet, als ich einen weiteren Server als Primary Site zu einer bestehenden SCCM-Hierarchie hinzufügen wollte:

SCCM_Add_to_CAS_Error

 

Der Fehlertext lautet: "Der Benutzer, der Setup ausführt, muss am zentralen Zielverwaltungsstandort über die RBA-Sicherheitsrolle "Infrastrukturadministrator" oder "Hauptadministrator" verfügen. Überprüfen Sie, ob der Benutzer über die richtige Rolle verfügt."

Die englische Fehlermeldung hierzu lautet: "The setup login user does not have sufficient permission to configure replication with specified central administration site"

Da der User bereits vorher an einem anderen Standort zu Installation problemlos genutzt wurde und auch über die Hauptadministrator-Rolle ("Full Administrator") verfügte, musste es ein anderes Problem sein.

Nach einigen Tests und Recherchen konnte ich den Fehler finden und beseitigen. Die beiden Standorte (Standort der CAS und Standort der neu zu installierenden Primary Site) sind über Site-to-Site-VPNs mit Hilfe vom ISA-Server bzw. Forefront TMG verbunden. Hier gibt es eine Filter-Regelung namens "Strikte RPC-Einhaltung erzwingen" ("Enforce strict RPC compliance"):

SCCM_Add_to_CAS_Solution

 

(Zu finden unter "Webzugriffsrichtlinie" / "RICHTLINIE" / "Protokolle" / "Filterung" / "RPC-Protokoll konfigurieren")

Nach dem ich diese Option auf beiden Seiten deaktiviert und die VPN-Verbindungen neu aufgebaut hatte, ließ sich die neue Primary Site problemlos installieren, da nun DCOM-Traffic zulässig war.

7Mrz/130

SCCM2012: Fehler beim Setup – SQL-Server Name muss mit dem Namen in „sys.servers“ übereinstimmen

Wenn man auf einem Server bereits den SQL-Server installiert hat und nun vor der Installation des System Center 2012 Configuration Manager den Hostnamen dieses Servers ändert, kommt es am Ende des Setup-Assistenten zu einem Fehler. Der deutsche Fehlertext lautet:

Der beim Setup angegebene SQL Server-Name muss mit dem Namen in "sys.servers" des SQL Server-Computers übereinstimmen.

SCCM SQL-Error sys.servers

Dieses Fehler lässt sich recht leicht beheben. Dazu muss zuerst die SCCM-Instanz deinstalliert werden.

Danach muss folgende Query im SQL Server-Manager ausgeführt werden:

1
2
3
4
EXEC sp_dropserver "ALTER_HOSTNAME"
GO
EXEC sp_addserver "AKTUELLER_HOSTNAME", "local"
GO

 

Den "alten"  Hostnamen kann man auch dem Setup-Log unter c:\ConfigMgrSetup.log entnehmen. Dort findet sich eine Meldung in etwa wie folgt:

ERROR: SQL server's Name '[ALTER_HOSTNAME]' in sys.servers does not match with the SQL server name '[NEUER_HOSTNAME]' specified during setup. Please rename the SQL server name using sp_dropserver and sp_addserver and rerun setup.  $$<Configuration Manager Setup><03-07-2013 22:07:09.409-60><thread=364 (0x16C)>

Nach dem Ausführen der Query im SQL Server-Manager muss der Server neugestartet werden. Danach kann das SCCM-Setup erneut durchgeführt werden.