Archive

Posts Tagged ‘SCCM’

Diverse Tools für SCCM – Teil 2

February 15th, 2010 No comments

Im letzten Teil habe ich beschrieben, wie man mit einer einfachen Batchdatei remote eine Hardwareinventur anstoßen kann. Was ist aber, wenn man dies auf mehreren PCs gleichzeitig machen will? Z.B. bei allen PCs, die eine bestimmte Software angeboten bekommen und somit in einer SCCM Collection sind?

Auch da hilft eine kleine Batchdatei:

starthinvall.cmd

for /F %%i in (‘cscript.exe //NOLOGO %~dp0getcomputer.vbs %1 siteserver sitename’) do call %~dp0starthinv.cmd %%i

Aufgerufen wird die Batchdatei mit den Namen der Collection, in der die Zielclients sind. Das passende getcomputer.vbs verbindet sich dann mit dem hinterlegten Siteserver und fragt in der angegebenen Site (sitename) die in der Collection hinterlegten Computer ab. Die Ausgabe (ein Computer pro Zeile) wird von der For Schleife abgefangen und an die starthinv.cmd weitergegeben.

getcomputer.vbs basiert weitestgehend auf einem Script von www.myitforum.com und wurde nur von der Ausgabe und Weiterverarbeitung angepasst.

Hier nochmal die Files als Download:

Diverse Tools für SCCM – Teil 1

February 9th, 2010 No comments

icon-20 Ich werde hier ab jetzt regelmäßig ein paar kleine Skripte rund um den System Center Configuration Manager (SCCM) bereitstellen. Geschrieben sind sie teilweise schon für SMS 2003 und funktionieren auch noch mit 2007.

Als erstes ein kleines Skript, um remote auf einem Client die Hardwareinventur anzustoßen:

@echo off
set PC=%1
if .%PC%==. set /p PC=Enter Computer Name to start HINV:
call %~dp0findip.bat %PC%
if %ip%.==. goto fehler
echo Start Hardware Inventur %PC%
cscript.exe //Nologo %~dp0sendsched.vbs {00000000-0000-0000-0000-000000000001}  %PC%
goto ende
:fehler
echo Abbruch, da Rechner %PC% auf ping nicht antwortet.
:ende
set ip=

f4f5f7;">Diese Batchdatei kann direkt mit dem Rechnernamen als Parameter aufgerufen werden. Wird nichts übergeben, dann fragt er nach dem Namen. Als erstes wird überprüft, ob der Rechner anpingbar und somit am Netzwerk ist. Dafür wird eine weitere Batchdatei aufgerufen, die ich nachfolgend anhängen werde. Danach wird ein VBScript aus dem SMS 2003 Toolkit 2 (http://technet.microsoft.com/en-us/sms/bb676787.aspx). Das Script sendet eine Nachricht per WMI an den Client. Jede Aktion eines Clients sind als Schedules bzw. Actions hinterlegt. Kennt man den entsprechenden Code, dann kann man diese sofort starten. In diesem Fall steht {00000000-0000-0000-0000-000000000001} für die Hardwareinventur.

Die findip.bat Datei sieht so aus:

@echo off
set ip=
set tempip=%temp%\%1.ip
ping %1 -n 1 |find /i “Antwort von” > “%tempip%”
for /F “eol=: tokens=3,* delims=: ” %%i in (%tempip%) do @set ip=%%i

if %ip%.==. goto englisch

goto ende

:englisch
ping %1 -n 1 |find /i “Reply from”>”%tempip%”
for /F “eol=: tokens=3,* delims=: ” %%i in (%tempip%) do @set ip=%%i

:ende
del %tempip%

Da die Quotes hier im Blog ziemlich verändert sind, habe ich die beiden Batchdateien noch als Download angehängt. Bitte Dateiendung entsprechend korrigieren:

System Center Configuration Manager 2007 R3

September 10th, 2009 No comments

Vor zwei Tagen habe ich die erste Ankündigung zu SCCM 2007 R3 gesehen:

http://blogs.technet.com/systemcenter/archive/2009/09/08/announcing-system-center-configuration-manager-2007-r3.aspx

Das ist das erste Produkt von Microsoft bei dem ein drittes Release vorhanden ist.

Als Hauptfeature wurde ein zentrales Energiemanagement erwähnt. Mal schauen wie das in einer Beta aussehen wird…

Categories: System Center Tags:

HP Firmware Updates während OS Installation

March 1st, 2009 No comments

Während einer OS Installation über SCCM (MDT) ist die Installation der aktuellen HP Treiber durch das passende Support Pack sehr einfach möglich. Firmware Updates fand ich bis jetzt schon schwieriger.

Eine sehr einfache Möglichkeit ermöglicht die Firmware Update CD:
Die CD (ISO File) einfach entpacken (z.B. mit 7Zip) und als Paket im SCCM einbinden. Im Root des Paketes eine Batch Datei mit folgendem Inhalt anlegen:

"%~dp0FW840.2009_0209.17compaqswpackageshpsum.exe" /s /romonly /use_location "%~dp0FW840.2009_0209.17compaqswpackages"

(Falls die ISO Datei in den Unterordner FW840.2009_0209.17 entpackt wurde). Der Aufruf nutzt HPSUM um sämtliche Windows Firmware Updates zu installieren. Dieses Paket als Softwareinstallationstask einbinden. Nach der Installation wäre ein Neustart sinnvoll.
Von der Reihenfolge würde ich die Firmwareupdates vor dem Supportpack installieren, da einige aktuelle Treiber eine aktuelle Firmware benötigen.

Categories: System Center Tags: , , ,

Bluescreen und Treibermanagement in SCCM

January 26th, 2009 No comments

Treibermanagement in SCCM ist recht einfach gestaltet, trotzdem sollte man eine gewisse Organisation und Vorsicht walten lassen. Daher mal diesmal ein paar Basics:

Eindeutiges Zeichen für einen Fehler ist folgender Bluescreen (0xc000035a):

winpe-bluescreen

Schaut man sich die Boot Image Treiber genauer an, so erkennt man schnell einen Intel Storage Treiber.  Unter Drivers kann man ebenfalls erkennen, dass der Treiber folgende Plattformen vorgesehen ist: “All x64 Windows Server 2003 (Non R2), All x64 Windows Server 2003 R2, All x64 Windows Server 2008, All x64 Windows Vista, All x64 Windows XP Professional […]“.

Interessant ist auch ein Blick in das Image selber. WIM Dateien kann man sehr elegant mit 7Zip anschauen. Die Datei unter 1windowssystem32drivers hat folgende Eigenschaften:

intel-storage-properties

Auch hier ist eindeutig ein x64 Treiber zu erkennen. Sobald man den Treiber aus dem Boot Image entfernt und neu deployed ist der Treiber entfernt und im Image nicht mehr auffindbar. Das Booten danach funktioniert sofort wieder.

Merke: Treiber immer genau anschauen und nur in die Image/Packages hinzufügen wo sie benötigt werden. (s.a. Post zu Broadcom Treibern)

Manchmal macht es sogar Sinn sich dieEigenschaften der  Treiberdatei selber anzuschauen.

SCOM Agent Rollout mit SCCM

January 15th, 2009 No comments

Wenn bereits eine existierende SCCM Infrastruktur auf den Servern exisitert, dann macht es eventuell Sinn, den SCOM Client damit zu verteilen.

Dafür einfach ein Paket mit den Quelldateien aus dem AgentManagement Ordner vom SCOM Server erstellen.

Darin im x86 und x64 Ordner folgende Batchdatei install.cmd hinterlegen:

rem Sicherheitshalber msxml6 installieren (Voraussetzung)

msiexec.exe /i “%~dp0MSXML6.msi” /qn /m scom07 /l* “%systemroot%msxml6.log” REBOOT=REALLYSUPPRESS

msiexec.exe /i “%~dp0MOMAgent.msi” /qn USE_SETTINGS_FROM_AD=1 MANAGEMENT_GROUP=<hier name dermanagement group> MANAGEMENT_SERVER_DNS=<hier dns name  des scom servers oder gateways> ACTIONS_USE_COMPUTER_ACCOUNT=1 /m scom07 /l* “%systemroot%scomx86.log” REBOOT=REALLYSUPPRESS

Diese Batchdatei als Programm (jeweils für x86 und x64) hinterlegen. Als Collection in SCCM verwende ich im allgemeinen eine Sammelcollection, die die alle Zielsysteme hineinkommen. Darunter lege ich eine Filtercollection an, die aus den Zielsystemen nur die herausfiltert, die den Agent noch benötigen. Hier bietet sich eine Subselection als Query an, die alle Systeme ausschließt die den Dienst bereits haben. Eine Hardwareinventur (HW)  wird im Allgemeinen häufiger gemacht als eine Softwareinventur (SW). Daher erhält man die Infos über Dienst (HW) schneller zurück als Dateiinformationen aus der SW-Inventur.

Eine Query könnte so aussehen:

select SMS_R_System.ResourceID,SMS_R_System.ResourceType, SMS_R_System.Name,SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.Client from SMS_R_System inner join SMS_G_System_SERVICE on SMS_G_System_SERVICE.ResourceID = SMS_R_System.ResourceId where SMS_R_System.ResourceId not in (select SMS_R_System.ResourceId   from  SMS_R_System inner join SMS_G_System_SERVICE on SMS_G_System_SERVICE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_SERVICE.Name = “HealthService”)

Als Collectionlimit die übergeordnete Sammelcollection eintragen. Die Ankündigung läuft dann auf der Filtercollection.

SCCM und Broadcom+WinPE

December 1st, 2008 No comments

Aktuell runde ich den produktiven SCCM ab. Dabei hatte ich wieder den Fall, dass die WinPE trotz installierter HP Netzwerktreibern nicht die Netzwerkkarten finden konnte (DL385G2, Onboard Nics). Ursache war vom Pilotsystem schon bekannt.

Die verbauten Broadcom Karten (NetXtreme II) haben ein etwas komplizierteres Treibermodel: Zuerst wird ein “Grundtreiber” geladen. Dieser stellt aber nur die Basis für den eigentlichen Netzwerktreiber dar. Diese zweite Schicht hat aber als PCI-ID ein Dummy ID, die erst von dem Grundtreiber zur Verfügung gestellt wird. Dieser doppelte Treiber wird momentan von einer WinPE CD nicht sauber unterstützt (da beim Booten nur ein Plug-and-Play Lauf gemacht wird).

Langer Text, kurze Lösung:

Auf den Broadcom Seiten direkt gibt es einen monolithischen Treiber, der nur eine Schicht benötigt. (http://www.broadcom.com/support/ethernet_nic/netxtremeii.php, Windows Remote Installation Service (RIS) Drivers)

Wichtig: Diesen Treiber nur in die Boot-CD hinzufügen. Nicht zu einem Treiberpaket und auch nicht zur Installation freigeben. Sonst kann es passieren, dass dieser Treiber bei der OS Installation herangezogen wird und somit nicht die volle Funktionalität der HP Treiber genutzt werden kann. (Alles schon ausprobiert :-) )

Categories: System Center Tags: , ,