Archiv der Kategorie: SCCM

Zertifikatswarnung bei OSD

Obwohl unserer SCCM Server im Mixed Modus betrieben wird, wird ein Zertifikat beim Neuaufsetzen verwendet. Wenn dieses bald abläuft, erhält man folgende Meldung beim Netzwerkstart über PXE:

“Warnung: Das diesen Medien zugewiesene Zertifikat wird in x Stunde(n) und 7 Minute(n) ablaufen. Für die Dauer einer auf Startmedien basierenden Bereitstellung wird ein gültiges Zertifikat benötigt. Möchten Sie den Vorgang fortsetzen?”

image

Nun kann man bei den Standorteinstellungen –> Standortsysteme den betroffenen Server auswählen. Bei den Eigenschaften des “ConfigMgr-PXE-Dienstpunkt” hat es eine Registerkarte “Datenbank”, bei der man das Ablaufdatum des Zertifikats “verlängern” kann.

image

In der Logdatei “smspxe.log” kann man überprüfen, ob das neue Zertifikat angekommen ist.

Probleme bei SCCM OSD

Dieses Jahr ersetzen wir beinahe 100 Computer. Die erste Tranche für die beiden Informatikzimmer der Oberstufe sind bereits geliefert. Nun bin ich daran, diese aufzusetzen. Als erstes konfiguriere ich das Bios (Passwort setzen und bei den Bootoptionen alles ausser HD und Netzwerk ausschliessen) und konfiguriere Intel AMT.

Danach wird der Computer in SCCM erfasst und gerade der richtigen Sammlung zugewiesen. Diese Sammlung hat eine OSD (Operating System Deployment) Ankündigung, die das passende Betriebssystemimage (siehe auch “Updates in Grundimage für OSD einspielen”) zuweist.  

image

image

image

Nun kann man den Computer von dem Netzwerk starten. Bei vielen Computern kann man beim Start F12 drücken, um eine Startauswahl zu erhalten. Dort muss man dann das Netzwerk auswählen.

image

Nun wird das Image auf den Computer installiert. Leider habe ich aber (bisher) einen, bei dem das nicht funktioniert. Bei dem bricht der Start über das Netzwerk ab.

image

Im SMSPXE.log findet sich dann eine Zeile mit der passenden MAC Adresse und der Meldung: “Device not found in the database”.

image

Eine Internetrecherche hat mich dann auf den “Configuration Manager Support Team Blog” gebracht. Dort wird beschrieben, dass SCCM zuerst mit der SMBIOS GUID arbeitet und erst danach mit der MAC Adresse. Also wollte ich das überprüfen und habe eine Sammlung mit der betroffenen SMBIOS GUID erstellt.

Leider hat das nicht zum Ziel geführt. Dafür ist der Computer später ohne weitere Eingriffe durchgelaufen. Tja, Problem behoben, aber was war die Ursache? Auf einer anderen Seite bin ich dann auf folgendes gestossen:

This can be commonly seen when a technician PXE boots the machine to write down the MAC address. If you then create a new computer object based on the MAC address, you need to wait an hour before the WDS service will lookup the database again.

Scheinbar war das das Problem. Um die MAC Adresse herauszufinden, habe ich von der Netzwerkkarte gestartet und dann auf der Tastatur Pause gedrückt, um die MAC Adresse abzuschreiben und in SCCM zu erfassen. Scheinbar war ich da zu langsam oder so….

WMI Problem

Probleme mit WMI können dazu führen, dass sich der Startvorgang lange verzögert. Nach dem Zurücksetzen des WMI-Repository starten die Computer wieder deutlich schneller (wie hier beschrieben).  SCCM kommuniziert stark über WMI und scheint in unserem Fall auch der Grund für das Problem zu sein.

Bei einigen Computern in unserem Netzwerk tritt das Problem aber nach einiger Zeit wieder auf. Das Zurücksetzen des WMI-Repository scheint nicht die Wurzel des Problems zu lösen. Dieser Beitrag aus dem “System Center Configuration Manager Team Blog” geht auf andere Möglichkeiten zur Eingrenzung des Problems ein.

Eine Möglichkeit, dem Fehler auf den Grund zu gehen ist “WMI Diagnosis Utility” von Microsoft. Dieses VB-Skript überprüft WMI und erstellt eine ausführliche Logdatei und einen kürzeren Report im Ordner %temp%. Im Download ist auch eine Dokumentation enthalten, die den Gebrauch genauer beschreibt. Man kann das Skript auch automatisch ohne Benutzereingriff laufen lassen oder die Logdateien auf eine Serverfreigabe umleiten.

Bei meinen Nachforschungen zu diesem Problem bin ich dann auch noch auf einen Hotfix von Microsoft mit der KB Nummer 2617858 und dem Titel “Unexpectedly slow startup or logon process in Windows Server 2008 R2 or in Windows 7” gestossen. Die Beschreibung passt ziemlich: lange Startzeit und WMI Repository.

image

Ein betroffener Testcomputer startete nach der Installation des Hotfix deutlich schneller.

Um den Hotfix automatisch zu verteilen, kann man wusa.exe mit den Parametern /quiet und /norestart aufrufen.

image

Nun bleibt zu hoffen, dass das Problem mit den langsamen Computerstarts nicht doch wieder auftritt…

Nachtrag

Es gibt den Hotfix in verschiedenen Sprachen und in Versionen für x86, x64 und ia64. Es wird einem der passende Hotfix für das System angeboten, mit dem man die Seite aufgerufen hat. Falls man einen Hotfix für ein anderes System benötigt, kann man auf “Hotfixes für alle Plattformen und Sprachen anzeigen (3)” klicken und die gewünschte Version herunterladen.

image

Nachtrag 2
Nun kann man den Hotfix extrahieren und ausführen.

image

image

image

Samsung Presenter SDP-860

In einem unserer Schulhäuser wurde ein digitaler Hellraumprojektor oder eben ein “digital presenter” von Samsung gekauft.

Hauptsächlich soll er im Experimentierzimmer verwendet werden, um z.B. Versuche aufzuzeichnen oder Bilder davon direkt auf dem Smartboard weiterzubearbeiten. Das Bild ist gut, man kann auch gut zoomen. Abgemacht ist aber, dass er auch in anderen Schulzimmern gebraucht werden kann. Die Software von Hand zu installieren ist also nicht der beste Weg.

Auf der Supportseite gibt es verschiedene Softwareversionen. Unter der Version “USB Viewer S/W (Win)” kann man eine Zip-Datei herunterladen, in der ein MSI steckt.

image

Die Software erstellt ein Desktop-Icon, das ich über einen Batch auch noch entferne:

@echo off
msiexec /qn /i "%~dp0USBViewer.msi"
REM remove desktop shortcut
if exist "%public%\desktop\SDP860 USBViewer.lnk" del "%public%\desktop\SDP860 USBViewer.lnk"
REM return exit code to sccm
exit /B %EXIT_CODE%

image

Nun lässt sich die Software problemlos mit SCCM verteilen (oder angepasst auch mit den Gruppenrichtlinien, wenn kein SCCM zur Verfügung steht.).

PXE Boot für Virtualbox

Für meinen virtuellen “Build and Capture” Computer habe ich bisher immer VirtualPC von Microsoft verwendet. Mit einer “Build and Capture” Tasksequenz erstelle ich ein Grundimage, das ich dann mit SCCM auf neue Computer verteilen kann (siehe auch hier).

Wir bekommen bald knapp 100 neue Computer und ich wollte testen, ob ich auf 64bit Windows umsteigen soll. Probleme könnten allenfalls ja z.B. die Druckertreiber von alten Druckern machen.

Unter VirtualPC konnte ich aber kein 64bit Betriebssystem installieren (meine ich zumindest). Also wollte ich Virtualbox verwenden, das ich schon für eine virtuelle Lubuntuinstallation verwende. Hier funktioniert aber das Starten von der Netzwerkkarte nicht.

Man muss zuerst das Extension Pack herunterladen und installieren.

image

image

Danach kann man auch mit Virtualbox vom Netzwerk starten und so mit SCCM ein Betriebssystemimage mit einer “Build and Capture” Tasksequenz erstellen.

image

Updates in Grundimage für OSD einspielen

Früher habe ich vollständige Computerimages über WDS (noch früher über RIS) verteilt. WDS steht für Windows Deployment Services und ist eine Technik, um Computerimages übers Netzwerk auszuliefern, die Bestandteil des Windows Servers ist. Der Aufwand, die verschiedenen Images mit Patches zu versorgen war mir meist zu gross, daher kamen nach einem Neuaufsetzen zuerst einmal alle Updates der letzten Monate oder Jahre.

Besser mit SCCM

SCCM arbeitet mit sogenannten Tasksequenzen, womit das ganze sehr modular aufgebaut werden kann. Beim Beispiel unten holt sich der Computer als 3. Schritt ein Abbild von Windows 7 vom Server und kopiert dieses auf den Client. Danach werden noch passende Gerätetreiber installiert und vieles mehr. Auch Updates können während dem Neuaufsetzen (in vielen Dokumentationen auch OSD = Operating System Deployment genannt) installiert werden.

image

Somit muss man nicht mehr ganze Images anpassen, wenn man neue Treiber integrieren oder eben Updates installieren möchte.

Trotzdem kann das Neuaufsetzen ziemlich verzögert werden, wenn viele Updates installiert werden müssen. Besser ist es da, die Updates bereits in dem Betriebssystemabbild (Schritt 3 im Bild oben) zu integrieren.

Dazu kann man eine sogenannte “Build and Capture” Tasksequenz erstellen, bei der man einen Computer aus der ursprünglichen Installationsquelle “aufbaut” und am Schluss ein Image davon auf den SCCM Server kopiert – alles vollautomatisch.

image

Um nach einem Patch-Tuesday ein neues Grundimage zu erstellen, lösche ich einfach die Festplatte von meinem virtuellen BuildandCapture PC und erstelle eine neue leere HD.

image

Wenn ich nun den virtuellen PC starte wird er gemäss der “Build and Capture” Tasksequenz aufgesetzt. Danach werden alle Updates installiert etc. Am Schluss wird vollautomatisch ein Sysprep durchgeführt und das neue Betriebssystemimage auf den SCCM Server hochgeladen.

image

Das neue Betriebssystemimage trägt bei mir den Namen “Windows7SP1new.wim”. Das alte Image ändere ich nun auf “Windows7SP1old.wim” und das neue auf den in den Tasksequenzen referenzierten Namen “Windows7SP1.wim”.

Nachdem man nun die alte Imagedatei durch die neue ersetzt hat, muss man noch den Verteilungspunkt anpassen.

image

Wenn ein Computer nun neu aufgesetzt wird, erhält er beim dritten Schritt in meiner Tasksequenz (siehe oberstes Bild in diesem Artikel) das neue Image mit den integrierten neuesten Updates.

Updates mit SCCM

SCCM bietet sehr viele Möglichkeiten, die Microsoft Updates zu prüfen und dann in verschiedenen Stufen zu installieren. In sehr grossen Umgebungen macht dies Sinn. Updates werden zuerst auf wenige Computer installiert, dann wird überprüft, ob alles in Ordnung weiterläuft. Wenn das getestet wurde, werden die Updates auf weitere Computer verteilt. Je nach Firma gibt es so vielleicht 3 Stufen, bis alle Computer die Updates erhalten haben.

Solch ein Vorgehen macht Sinn, damit nicht ein Update das Arbeiten mit der produktiven Software gefährden kann. An einer Schule und bei vielen kleineren Unternehmen stehen einfach nicht genügend Stellenprozente zur Verfügung, um Updates so ausführlich zu testen. Meistens kommt hier WSUS mit einer automatischen Genehmigung zum Einsatz. Bei SCCM 2007 lässt sich keine automatische Genehmigung von Updates erreichen, bei SCCM 2012 wurde es angekündigt.

Ich habe mir einen Weg zurechtgelegt, der möglichst wenig Zeit in Anspruch nimmt, aber natürlich nicht so sicher wie das stufenweise Verteilen ist.

Unter “Updaterepository” –> “Suchordner” habe ich einen Suchordner, der mir die Windows 7 Updates vom letzten Monat sucht.

image       image

Unter “Bereitstellungsverwaltung” und “Bereitstellungspakete” habe ich je einen Eintrag für “Windows 7 Updates 2012”

image

Im Suchordner mit den Windows 7 Updates kann man mit den im Bild markierten Spalten überprüfen, ob die Updates bereits heruntergeladen und bereitgestellt wurden.

image

Nun wählt man diese Updates aus und lädt sie in das bereits bestehende Bereitstellungspaket herunter . 

image

Nun muss man die Updates noch auf die Bereitstellungsverwaltung ziehen. Mit “Softwareupdates bereitstellen” rechts aussen, kann man nur eine neue Bereitstellung eröffnen, aber nicht an eine bestehende anhängen.

image

Nach der Verteilung holt sich der SCCM Client die Updates… Zwar ein wenig mehr Arbeit als mit WSUS, aber auch nicht so schlimm.

image

Forefront Richtlinien

Mit Forefront kann man für verschiedene Clients verschiedene Richtlinien mit entsprechenden Ausschlüssen erstellen.

image

Nachdem man eine neue Richtlinie ausgewählt und einen Namen vergeben hat, kann man eine entsprechende Vorlage auswählen.

image

image

Um eine Richtlinie für einen Server zu erstellen, der Domänencontroller, DNS-Server und DHCP-Server ist, habe ich einfach die drei Richtlinienvorlagen genommen und die Ausschlüsse in einer Richtlinie zusammengefasst.

Nun muss man diese Richtlinie nur noch der entsprechend vorbereiteten Sammlung zuweisen.

image

Ab der nächsten Synchronisierung der Richtlinie werden diese Ausschlüsse bei Forefront berücksichtigt.

Java verteilen

Um Java (aktuell Version 8 Update 201)  zu verteilen, gibt es zwei Möglichkeiten. Entweder verteilt man ein MSI Paket oder die EXE-Datei als silent (unattended) Installation.

Das Problem bei Java ist die Autoupdate Funktion. Sobald eine neue Version erscheint, bekommen die User eine Meldung, können als Standardbenutzer aber das Update nicht installieren.

Daher verteile ich die neue Version als angepasstes MSI. Um die MSI Datei zu erhalten, wählt man auf der Download Seite links aussen „Alle Java Downloads„. Hier kann man nun die Windows Offline Datei herunterladen (32bit für den 32bit Internet Explorer). Wenn man mit der Installation beginnt, aber NICHT auf Installieren klickt, kann man unter C:\Users\“benutzername“\AppData\LocalLow\Oracle\Java\“jre-Versionsnummer“ die entpackte MSI Datei wegkopieren und danach die Installation abbrechen.

Um ein passendes MSI zu erstellen, verwende ich Orca von Microsoft, das in den Windows Installer Development Tools enthalten ist. Leider muss man für das kleine Orca die ganzen Tools (1GB) herunterladen. Danach kann man die ISO Datei auf eine DVD brennen oder z.B. mit 7Zip in einen Ordner extrahieren. Im Ordner \setup\WinSDKTools kann man die Datei cab1 mit einem Doppelklick öffnen und dann die Datei WinSDK_Orca_MSI…… Extrahieren. Sobald man diese Datei mit dem Dateinamen .msi ergänzt, kann man Orca per Doppelklick installieren.

image

Nun ändert man mit Orca unter Property die Eigenschaften:

AUTOUPDATECHECK: 0
JAVAUPDATE: 0
EULA: 1 (nicht mehr vorhanden bei Versionen > 8.)
IEXPLORER: 1 (nicht mehr vorhanden bei Versionen >8.)

image

Nun kann man das MSI speichern und z.B. über die Gruppenrichtlinien verteilen….

image

…oder über SCCM mit …

msiexec /i jre.msi

image

Ich habe das Java MSI auf jre.msi umgetauft (ohne Versionsangabe). Somit kann man einfach die neueste Version über die alte kopieren, den Distributionpoint aktualisieren und das Programm erneut zuweisen. Dies ist viel schneller, als wenn man jedes Mal ein neues Paket erstellen muss.

Java lässt sich auf diesem Wege nicht installieren, wenn der Internet Explorer zum Installationszeitpunkt geöffnet ist. Dies ist bei der Installation über die Gruppenrichtlinien kein Problem, weil vor der Anmeldung eines Benutzers der IE nicht geöffnet sein kann…

Man könnte nun den IE vor der Java Installation über einen taskkill Befehl schliessen, was nicht die ganz feine Art ist. Die Installation über WOL in der Nacht durchzuführen kommt bei so vielen Laptops, die in der Nacht nicht am Netz hängen, auch nicht in Frage. Daher verwende ich die Bedingung “Nur wenn kein Benutzer angemeldet ist”.

image

Viel Erfolg!

Nachtrag
Bei der letzten Version hatte ich Probleme mit diversen Computern, die danach zwar angezeigt hatten, dass sie die neue Version installiert hätten, diese war aber nicht in einem funktionsfähigen Zustand. Allenfalls kommt das zustande, wenn sich jemand anmeldet, während die Software installiert wird.

Ich habe mich nun entschieden, auf die Bedingung “Nur wenn kein Benutzer angemeldet ist” zu verzichten und den IE vor der Installation halt doch zu schliessen. Nicht ganz die feine Art, ich weiss…

image

Filme auf dem Computer abspielen

Früher musste man ja eine Version von WinDVD oder einer ähnlichen Software haben, damit man Filme abspielen konnte. Mit Windows 7 sind nun auch viele Codecs direkt ins System gewandert und man kann das meiste mit dem Media Player von Windows abspielen.

Nun wurde ich bereits das zweite Mal darauf aufmerksam gemacht, dass eine mkv-Datei nicht abgespielt werden konnte. Mkv steht für Matroska und ist ein Containerformat für Audio- und Videodaten.

Auf der offiziellen Webpräsenz findet man auch Hinweise darauf, wie man diese mkv-Dateien abspielen kann. Ich habe mich nun entschieden, das Combined Community Codec Pack zu verwenden, da dies relativ einfach zum Installieren ist.

Man kann einfach das Programm mit den folgenden Parametern installieren. Somit wird kein zusätzlicher Player installiert, es gibt keine Startmenügruppe und die mkv-Dateien können einfach mit dem Media Player von Windows geöffnet werden.

cccp.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /NOICONS /TYPE=NoPlayers

image