Dezember 15 2016

ConfigMgr 1610 bug leaves orphaned objects in ccmcache

### Fixed by Microsoft (see below) ###

It looks like that I found a bug in Configuration Manager version 1610. After update my clients from version 1606 some folders/files are orphaned in %windir%\ccmcache.

 

Example:

C:\Windows\ccmcache contain a bunch of folders, lates is an SCEP defintion from 12/14/2016.
The update from 1606 to 1610 was installed on 12/06/2016.

 

After I try to cleanup manually using „Delete Files…“ from CM Properties (with checked „Delete persisted cache content“ to be sure) folders newer than 12/06/2016 are removed:

 

If I check the content of folder 41 (in this specific machine) I can see, it’s the one with ccmsetup.exe from version 1610:

 

All my clients have the same issue. I will report this to Microsoft and some people at Twitter and TechNet Forums confirmed the same behavior in their environments. This is no big issue, ConfigMgr still works and I can deploy software. Maybe I will cleanup this orphaned files using Compliance Settings in a later step…

 

Edit:

I did another test -> Client Cache is set to 8GB. After 1610 was installed, I had ~5GB orphaned stuff in ccmcache but it was no problem to deploy a package with 5GB total size… At this point I think it will be no problem to cleanup the old stuff by script.

 

Edit 22. Dec.:

Microsoft released an update for this bug: KB3124042

After clients upgrade to Configuration Manager, version 1610, the contents of the CCM Cache folder (%windir%\ccmcache by default) are orphaned. Although the files are still present on disk, they are not available for application installations and will not be managed or deleted by the client.

Installing this update prevents the cache issue on future client upgrades. Previously upgraded clients will redownload applicable content, and any expired content can be manually deleted as needed.

Dezember 15 2016

Update 2 für ConfigMgr 1610 (Early Wave)

Kurz und knapp, es ist noch ein zweites Update für den ConfigMgr 1610 unterwegs. Auch hier sind wohl nur die Binaries betroffen, welche vor dem 01.12. heruntergeladen wurden.

Update 2 for System Center Configuration Manager version 1610, early wave (KB3211925)

 

Das Update behebt wohl einen (weiteren?) Fehler bei den Task Sequenzen wenn ihr folgende Fehlermeldung beim verteilen erhaltet:

The selected task sequence uses an invalid package or application reference. Use task seuqence editor to correct the error or select a different task sequence.

 

Ob Update 2 eine neue Console oder einen neuen Client bringt kann ich noch nicht sagen reiche ich aber nach.

Dezember 13 2016

Update 1 für ConfigMgr 1610 kommt

Für den Configuration Manager Current Branch gibt es im Fast Ring das erste Update welches u.a. folgende Fehler beheben soll:

  • Softwarecenter startet nicht
  • SMS Agent Host verbraucht 100% CPU
  • Beim Win7 OSD wird er Schritt „Setup Windows and ConfigMgr“ nicht ausgeführt
  • Der „Update and Servicing“ Node fehlt nach dem Update

Details siehe KB3209501.

 

Nicht betroffen sind Systeme, wo die Update Files nach dem 01.12. heruntergeladen wurden. Prüfen kann man das im „Update and Servicing“ Node wenn man sich dort die Package GUID anzeigen lässt. Betroffen ist das ConfgMgr1610 Update mit der GUID „C43A89E4-B642-4FC8-ABF0-255BF5D88D82“.

ConfigMgr 1610 = Version 5.00.8458.1000 + Client Version 5.00.8458.1000

ConfigMgr 1610 Update 1 = Version 5.00.8458.1500 + Client Version 5.00.8458.1007

 

In meiner Umgebung sind von den genannten Fehlern bisher (noch) keine aufgetreten werde aber das Update 1 auch relativ zeitnah einspielen.

Dezember 13 2016

Gesperrte Objekte in der CM Console

Welcher CM Admin kennt es nicht auch? Die Console stürzt (warumauchimmer) ab und das gerade bearbeitete Objekte ist gesperrt:

 

Hier gibt es drei Möglichkeiten:

  1. Warten… :-)
  2. Den LockState direkt in der Datenbank löschen
  3. PowerShell

 

Leider hatte ich in dem konkreten Fall mit PowerShell keinen Erfolg, das entsprechende cmdlets ist jedoch „Unlock-CMObject„. Ich konnte den Lock jedoch problemlos in der Datenbank entfernen. Der ConfigMgr verwaltet Locks in der Tabelle „SEDO_LockState“ (SEDO = Serialized Editing of Data Objects), die entsprechende Abfrage ist demnach:

select * from SEDO_LockState where LockStateID <> 0

die entsprechende Zeile kann dann mit

delete from SEDO_LockState where LockID = ‚……‘

gelöscht werden.

 

Wie immer bei Datenbank Eingriffen: Unsupported, Backup, Think first…… ;-)

Dezember 7 2016

ConfigMgr 1610 Upgrade

Gestern war es soweit und ich habe mutig in meiner Produktionsumgebung das Inplace Upgrade 1610 (von 1606) angestartet. Das lief überraschend unauffällig durch und dauerte ca. eine Stunde und es wurden die CCMclient Packages sowie die Standard Boot Images aktualisiert und neu verteilt.

Clientseitig habe ich bislang nur eine Testgruppe aktualisiert was auch lautlos passierte – den großen Rollout gibt es in ein paar Tagen.

Der Update Prozess ist bei den Systemcenterdudes wunderbar beschrieben, das könnte ich nicht besser:

Step-by-Step SCCM 1610 Upgrade Guide

SCCM Pre-Production Client Deployment

 

Wie schon beim 1606 werden die Konsolen automatisch aktualisiert. Aktuell teste ich noch alles durch es sind mir aber bislang keine Fehler aufgefallen. Well done, Microsoft.

Dezember 6 2016

Software Anforderungen in der CM Console verwalten

Aus der Kategorie „was kann man mit dem ConfigMgr alles basteln“ mal was anderes. Dazu muss ich etwas ausholen und den Workflow dahinter erklären:

User schickt eine Bedarfsanforderung für eine kostenpflichtige Anwendung an das Service Desk. Diese prüfen und weisen dem User dann die Softwarelizenz über ein IDM Tool zu was technisch im Hintergrund lediglich eine AD Security Gruppe zuweist. Fordert nun ein User die Installation einer kostenpflichtigen Software an muss im IDM Tool nachgeschaut werden ob die Lizenz vorliegt oder noch nicht. Diese Information wollte ich nun in der ConfigMgr Console abbilden, hier erklärt am Beispiel „Camtasia Studio“:

 

Die AD-Gruppe heisst „SR_Techsmith Camtasia Studio“ und beinhaltet Userkonten. Da ich für diese Lösung AD-Gruppen verwende muss natürlich das AD Group Discovery aktiviert sein:

sr01

 

Im ConfigMgr wird nun eine User Gruppe angelegt und mit einem Query versehen, welches die Members der AD Gruppe importiert:

sr2

Query:

select SMS_R_USER.ResourceID,SMS_R_USER.ResourceType,SMS_R_USER.Name,SMS_R_USER.UniqueUserName,SMS_R_USER.WindowsNTDomain from SMS_R_User where SMS_R_User.SecurityGroupName = „******\\SR_Techsmith Camtasia Studio“

 

Damit wird die AD-Gruppenmitgliedschaft in den ConfigMgr übernommen, jedoch sieht man es nicht am Userobjekt. Daher habe ich pro Software noch eine leere Configuration Baseline angelegt und auf die zuvor erstellte Usergruppe verteilt. Die Baseline kann danach sogar deaktiviert werden:

sr3

 

That’s it… Zurück zum Szenario:

 

User fordert im Service Desk die Installation vom Camtasia Studio auf seinem Rechner an. Dazu muss der Rechner ja in die entsprechende Installation Device Collection aufgenommen werden. Für lizenzpflichtige Software habe ich diese alle mit „REQUEST“ gekennzeichnet. Daran erkennen die Kollegen sofort, dass sie eine Lizenzprüfung durchführen müssen:

sr4

 

Diese ist nun schnell mit einem Rechtsklick auf den User zu beauskunften:

sr5

 

Ob man das braucht hängt natürlich vom internen Prozess ab, bei uns hat es sich bislang bewährt. :-)

Dezember 1 2016

Client Health Summary Report

Vor einigen Tagen habe ich in meiner ConfigMgr Landschaft das Client Healh Summary Report Script von Trevor Jones implementiert. Meiner Meinung nach eine absolut feine Sache, so bekommt man einen schicken Status Report per Email zugestellt:

capture3

Das Powershell Script selbst wird einfach als geplante Aufgabe ausgeführt:

Powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -File „<path>\New-CMClientHealthSummaryReport.ps1“