Feeds
Artikel
Kommentare

Diesen Blog-Artikel starte ich mit einer Frage: wer hat sich schon einmal über die Parameter-Auswahl beim SQL Reporting Services Point geärgert? Ich gehöre auf jeden Fall dazu. Doch warum?

Folgendes Beispiel verdeutlicht dies:

 

An sich keine schlechte Sache. Man hat zwei wundervolle drop-down Menüs, aus denen man die gewünschten Parameter auswählen kann. Allerdings gibt es hierbei meiner Meinung nach einen Haken. Beide Parameter (AdvertisementID und ComputerName) hängen direkt zusammen. Es besteht also die Möglichkeit, eine Auswahl zu treffen, die kein Ergebnis liefern kann, weil die Kombination so nicht existent ist. Wenn z.B. der virtuelle Firefox nur auf Windows7-Rechner angekündigt ist, dann resultiert die Auswahl eines XP-Rechners unweigerlich in einem Ergebnis ohne Treffer.
Gleiches gilt zum Beispiel für einen Report, der (1) Softwarehersteller und (2) Softwareprodukt als Parameter hat. Wähle ich für (1) Microsoft, dann will ich bei (2) nur noch Produkte zur Auswahl bekommen, die von Microsoft sind (“SQL”, “ConfigMgr”, “Server 2008″, “Windows 7″, “Exchange”, “Word”, “Visio” usw.). Produkte wie “Adobe Reader”, “7zip”, “Firefox”, “SAPGUI” sollen gar nicht angezeigt werden. Eine Abfrage, die alle Rechner zeigen soll, auf denen “7zip” vom Hersteller “Adobe” installiert ist, kann keine Ergebnisse liefern.

Glücklicherweise lässt sich dies umsetzen! Allerdings muss man dazu die vertraute Welt der ConfigMgr Konsole verlassen und den SQL Report Builder verwenden.

Zuerst wird eine neue Datasource angelegt:

Zu Demo-Zwecken ist das bereits vorhandene default Report Model gut geeignet:

 

Anschliessend erzeugt man ein neues Dataset:

 

Folgendes SQL-Statement wurde dazu verwendet:

SELECT    
v_R_System.Name0,
v_GS_ADD_REMOVE_PROGRAMS.Publisher0,
v_GS_ADD_REMOVE_PROGRAMS.DisplayName0
FROM        
v_R_System
INNER JOIN
v_GS_ADD_REMOVE_PROGRAMS
ON
v_R_System.ResourceID = v_GS_ADD_REMOVE_PROGRAMS.ResourceID
WHERE    
(v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 LIKE ‘%’ + @Disp + ‘%’
and
Publisher0 like ‘%’ + @Pub + ‘%’)

Das Ergebnis sollte dann in etwa so aussehen:

 

Nach Schließen des “Dataset Properties”-Fenster sollten dann praktischerweise schon die in der SQL Query verwendeten Parameter (Variablen) auftauchen:
  

 

Anschließend werden 2 weitere Datasets erstellt: eines für die Abfrage aller vorhandenen Publisher und ein weiteres für die vorhandenen DisplayNames.

SELECT
distinct
v_GS_ADD_REMOVE_PROGRAMS.Publisher0
FROM
v_GS_ADD_REMOVE_PROGRAMS
where Publisher0 is not NULL

DataSet_Publisher:

 

SELECT
distinct
v_GS_ADD_REMOVE_PROGRAMS.DisplayName0
FROM
v_GS_ADD_REMOVE_PROGRAMS
where Publisher0 like @Pub

DataSet_DisplayName:

 

Als Ergebnis erhält man also 2 weitere Datasets, die in den Report-Parametern verwendet werden können

 

 

Jetzt können die Parameter bearbeitet werden. Zuerst wird mit dem für die vorhandenen Publisher begonnen:

 

Unter “Available Values” wird der Wert “Get values from a query” und das vorhin angelegte Dataset (DataSet_Publisher) gewählt.

Gleiches wird analog für den Parameter “Disp” durchgeführt:

 

Abschließend noch eine Ergebnistabelle hinzufügen:

 

Und schon kann der Report in der Vorschau betrachtet werden:

 

 

Wie man sieht, wird bei der Auswahl von “Igor Pavlov” nur das Produkt “7-zip 4.65″ angezeigt. Bei der Auswahl von “Microsoft Corporation” erhält man eine Auflistung der MS-Produkte, die in der Datenbank gefunden worden sind.

Die selbe Funktionalität ist natürlich auch vorhanden, wenn die Reports nach dem Publishen vom Reportserver aufgerufen werden:

 

Und jetzt viel Spaß und Erfolg beim Ausprobieren!

Am Freitag Nachmittag erreichte mich eine Mail, deren Inhalt mich sehr freut!

Sehr geehrte(r) Torsten Meringer,

herzlichen Glückwunsch! Wir freuen uns, Ihnen den Microsoft® MVP Award 2011 verleihen zu können! Diese Auszeichnung wird an herausragende, führende Mitglieder der technischen Communities verliehen, die ihre wertvollen praktischen Erfahrungen mit anderen Menschen teilen. Wir schätzen Ihren außerordentlich bedeutenden Beitrag in den technischen Communities zum Thema System Center Configuration Manager im vergangenen Jahr hoch ein.

Dies ist bereits das 7. Jahr in Folge, in dem ich mit dem MVP award ausgezeichnet worden bin.

Der “Update Rollup 1″ für Forefront Endpoint Protection 2010 ist verfügbar.
Zum Download geht’s hier: http://www.microsoft.com/download/en/details.aspx?id=26583.
Sehr gut auch die Update Rollup 1 Tools: http://www.microsoft.com/download/en/details.aspx?id=26613

Kürzlich bin ich über ein interessantes Problem gestolpert. Clients war es nicht möglich, einen PXE-Boot durchzuführen.

Clientseitig sah dies so aus:

“Downloaded WDSNBP
Architecture: x64
WDSNBP started using DHCP Referral.
Contacting Server: X.X.X.X
No response from Windows Deployment Services server.
Launching pxeboot.com
TFTP download failed.”

Im smspxe.log war die Anfrage des Clients zu finden. Also den Netzwerk-Monitor angeworfen und den Traffic zwischen Client und PXE-ServicePoint mitgeschnitten:

Auffallend sind hier zwei Dinge:
(1) eine lange Zeitdauer (7s) zwischen Antwort vom Server (Frame 1688) und Anfrage vom Client (1818, gelb markiert).

(2) der Client fordert die Datei “pxeboot.com” an, die es aber leider nicht im RemoteInstall-Verzeichnis gibt.

Ein Vergleich zu einem funktionierenden PXE-Boot zeigt folgendes:

Hier fordert der Client “smsboot\x64\pxeboot.com” an. Diese Datei ist natürlich im RemoteInstall-Verzeichnis vorhanden (im Gegensatz zu “\pxeboot.com”).

An dieser Stelle war ich erst einmal ratlos. Lange Rede – kurzer Sinn: die Zusammenarbeit mit einem LAN-Kollegen ergab, dass “DHCP Snooping” aktiviert war und somit die DHCP-Antwort (Frame 1688) niemals am Client angekommen ist. Weitere Informationen zu “DHCP snooping” auf der Site von Cisco: http://www.cisco.com/en/US/docs/switches/lan/catalyst4500/12.1/12ew/configuration/guide/dhcp.pdf.

MDT 2012 Beta 1

Das Microsoft Deployment Toolkit 2012 ist als Beta 1 unter http://go.microsoft.com/fwlink/?LinkId=217606 verfügbar und bietet sogar Unterstützung für ConfigMgr 2012.

Der Nachfolger vom SCUP (System Center Updates Publisher) 4.5 ist verfügbar: System Center Updates Publisher 2011.
Wichtig: auf allen WSUS-/SCUP-Servern und SCUP-Konsolen muss vorher der kb??2530678 installiert werden.

Es gibt einen Hotfix, falls der AI Sync Point unter ConfigMgr 2007 SP2 auf Grund eines abgelaufenen Zertifikates nicht mehr synchronisieren kann: http://support.microsoft.com/kb/2483225/en-us

Für ConfigMgr-Clients gibt es ab und zu Hotfixe, die sinnvollerweise während dem OSD (Operating System Deployment) installiert werden sollten. Ein Beispiel dazu habe ich kürzlich geschrieben.

Doch wie installiert man einen Hotfix während einer OSD-Tasksequenz?

Die “Magie” der Client-Installation passiert im Schritt “Setup Windows and ConfigMgr“. Leider wird in dem zugehörigen TechNet-Artikel nicht auf die genaue Syntax eingegangen, sondern nur erwähnt, dass “Patches und Korrekturen für den Configuration Manager 2007-Client, bei Bedarf” installiert werden können. Die Lösung liegt in der PATCH-Property, die einfach mit dem richtigen Inhalt gefüllt werden muss.

PATCH=”C:\_SMSTaskSequence\OSD\TF200004\i386\hotfix\KB977384\sccm2007ac-sp2-kb977384-x86-enu.msp;C:\_SMSTaskSequence\OSD\TF200004\i386\hotfix\kb2509007\sccm2007ac-sp2-kb2509007-x86-enu.msp”

Bei einer “build and capture”-Tasksequenz (weil hier viele Software-Updates installiert werden müssen, wenn zB ein Win7-RTM auf aktuellen Stand gebracht werden soll) kann es vorkommen, dass der Schritt “Install Software Updates” hängen bleibt. Dieses Problem wird durch kb2509007 behoben.
ConfigMgr 2012 bietet – wie bereits hier beschrieben – übrigens eine deutlich bessere Möglichkeit, Hotfixe in ein bestehendes Image zu integrieren.

Um ein Image eines Betriebssystemes unter ConfigMgr 2007 aktuell zu halten bzw. mit einem aktuellen Patch-Stand auszurollen, gab es bisher nur 2 Möglichkeiten ???(Möglichkeiten wie MDT (“Install Updates Offline”) oder DISM einmal nicht betrachtet) :

- Erzeugen eines neuen / aktuellen Referenzimages mittels einer “Build & capture“-Tasksequenz und dem “Install Software Updates“-Step
- Verteilen eines “alten” Referenzimages und Installation der aktuellen Patches während des Deployments

Beide Möglichkeiten sind eher (zeit-)aufwändig.

ConfigMgr 2012 bietet die einfache Möglichkeit, Updates zeitgesteuert zu einem bestehenden OS-wim-File hinzuzufügen (für Betriebssysteme > Vista SP2, > Server 2008 SP2 und >Windows 7 RTM).

Das Anwenden der Software-Updates kann entweder sofort oder zeitgesteuert erfolgen; die zu installierenden Updates können einfach aus einer Liste der verfügbaren ausgewählt werden:

ConfigMgr 2012 erstellt dabei ein Backup der bisherigen wim-Datei, so dass im Fehlerfall ein einfacher Fallback möglich ist.

« Neuere Artikel - Ältere Artikel »