<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Markus Bäker &#187; Configuration Manager</title>
	<atom:link href="http://www.mbaeker.de/category/system-center/sccm-system-center/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mbaeker.de</link>
	<description>Jeder hat es - ich jetzt auch</description>
	<lastBuildDate>Thu, 22 Jul 2010 18:37:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Diverse Tools f&#252;r SCCM &#8211; Teil 2</title>
		<link>http://www.mbaeker.de/2010/02/diverse-tools-fr-sccm-teil-2/</link>
		<comments>http://www.mbaeker.de/2010/02/diverse-tools-fr-sccm-teil-2/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 18:21:38 +0000</pubDate>
		<dc:creator>markus</dc:creator>
				<category><![CDATA[Configuration Manager]]></category>
		<category><![CDATA[Deutsch]]></category>
		<category><![CDATA[System Center]]></category>
		<category><![CDATA[cmd]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://www.mbaeker.de/?p=267</guid>
		<description><![CDATA[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 (&#8216;cscript.exe [...]]]></description>
			<content:encoded><![CDATA[<p>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?</p>
<p>Auch da hilft eine kleine Batchdatei:</p>
<p>starthinvall.cmd</p>
<blockquote><p>for /F %%i in (&#8216;cscript.exe //NOLOGO %~dp0getcomputer.vbs %1 siteserver sitename&#8217;) do call %~dp0starthinv.cmd %%i</p></blockquote>
<p>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.</p>
<p>getcomputer.vbs basiert weitestgehend auf einem Script von <a href="http://www.myitforum.com/articles/11/view.asp?id=425" target="_blank">www.myitforum.com</a> und wurde nur von der Ausgabe und Weiterverarbeitung angepasst.</p>
<p>Hier nochmal die Files als Download:</p>
<ul>
<li><a class="downloadlink" href="http://www.mbaeker.de/downloads/starthinvall.cmd_.txt" title=" downloaded 102 times" >starthinvall.cmd (102)</a></li>
<li><a class="downloadlink" href="http://www.mbaeker.de/downloads/getComputer.vbs_.txt" title=" downloaded 133 times" >getComputer.vbs (133)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mbaeker.de/2010/02/diverse-tools-fr-sccm-teil-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diverse Tools f&#252;r SCCM &#8211; Teil 1</title>
		<link>http://www.mbaeker.de/2010/02/diverse-tools-fr-sccm-teil-1/</link>
		<comments>http://www.mbaeker.de/2010/02/diverse-tools-fr-sccm-teil-1/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 19:22:07 +0000</pubDate>
		<dc:creator>markus</dc:creator>
				<category><![CDATA[Configuration Manager]]></category>
		<category><![CDATA[Deutsch]]></category>
		<category><![CDATA[System Center]]></category>
		<category><![CDATA[cmd]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mbaeker.de/2010/02/diverse-tools-fr-sccm-teil-1/</guid>
		<description><![CDATA[ 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 [...]]]></description>
			<content:encoded><![CDATA[<p><img style="display: inline; margin-left: 0px; margin-right: 0px; border: 0px;" title="icon-20" src="http://www.mbaeker.de/wp-content/uploads/2010/02/icon20.png" border="0" alt="icon-20" width="64" height="64" align="left" /> 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.</p>
<p>Als erstes ein kleines Skript, um remote auf einem Client die Hardwareinventur anzustoßen:</p>
<blockquote><p>@<a href="http://twitter.com/echo" rel="nofollow" target="_blank" title="View echo's Twitter Profile">echo</a> off<br />
set PC=%1<br />
if .%PC%==. set /p PC=Enter Computer Name to start HINV:<br />
call %~dp0findip.bat %PC%<br />
if %ip%.==. goto fehler<br />
echo Start Hardware Inventur %PC%<br />
cscript.exe //Nologo %~dp0sendsched.vbs {00000000-0000-0000-0000-000000000001}  %PC%<br />
goto ende<br />
:fehler<br />
echo Abbruch, da Rechner %PC% auf ping nicht antwortet.<br />
:ende<br />
set ip=</p></blockquote>
<p><span style="background-color: #<a href="http://search.twitter.com/search?q=%23f4f5f7" rel="nofollow" target="_blank" title="Search Twitter for &quot;f4f5f7&quot;">f4f5f7</a>;">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 (</span><a title="http://technet.microsoft.com/en-us/sms/bb676787.aspx" href="http://technet.microsoft.com/en-us/sms/bb676787.aspx">http://technet.microsoft.com/en-us/sms/bb676787.aspx</a>). 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.</p>
<p>Die findip.bat Datei sieht so aus:</p>
<blockquote><p>@<a href="http://twitter.com/echo" rel="nofollow" target="_blank" title="View echo's Twitter Profile">echo</a> off<br />
set ip=<br />
set tempip=%temp%\%1.ip<br />
ping %1 -n 1 |find /i &#8220;Antwort von&#8221; &gt; &#8220;%tempip%&#8221;<br />
for /F &#8220;eol=: tokens=3,* delims=: &#8221; %%i in (%tempip%) do @<a href="http://twitter.com/set" rel="nofollow" target="_blank" title="View set's Twitter Profile">set</a> ip=%%i</p>
<p>if %ip%.==. goto englisch</p>
<p>goto ende</p>
<p>:englisch<br />
ping %1 -n 1 |find /i &#8220;Reply from&#8221;&gt;&#8221;%tempip%&#8221;<br />
for /F &#8220;eol=: tokens=3,* delims=: &#8221; %%i in (%tempip%) do @<a href="http://twitter.com/set" rel="nofollow" target="_blank" title="View set's Twitter Profile">set</a> ip=%%i</p>
<p>:ende<br />
del %tempip%</p></blockquote>
<p>Da die Quotes hier im Blog ziemlich verändert sind, habe ich die beiden Batchdateien noch als Download angehängt. Bitte Dateiendung entsprechend korrigieren:</p>
<ul>
<li><a class="downloadlink" href="http://www.mbaeker.de/downloads/starthinv.cmd_.txt" title=" downloaded 132 times" >starthinv.cmd (132)</a></li>
<li><a class="downloadlink" href="http://www.mbaeker.de/downloads/findip.bat_.txt" title=" downloaded 114 times" >findip.cmd (114)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mbaeker.de/2010/02/diverse-tools-fr-sccm-teil-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updateinstallation auf Windows 2008 Core</title>
		<link>http://www.mbaeker.de/2010/02/updateinstallation-auf-windows-2008-core/</link>
		<comments>http://www.mbaeker.de/2010/02/updateinstallation-auf-windows-2008-core/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 19:30:35 +0000</pubDate>
		<dc:creator>markus</dc:creator>
				<category><![CDATA[Configuration Manager]]></category>
		<category><![CDATA[Deutsch]]></category>
		<category><![CDATA[System Center]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.mbaeker.de/2010/02/updateinstallation-auf-windows-2008-core/</guid>
		<description><![CDATA[ Wenn in einer Organisation auf die Server nicht automatisch die Updates zu den Wartungsterminen installiert werden, sondern nur angeboten werden, dann ist dies auf Windows 2008 Core Systemen schwierig, da es keine Benachrichtigung in der (nicht existenten) Taskliste gibt.
Um dies zu lösen stellt Microsoft unter http://msdn.microsoft.com/en-us/library/aa387102%28VS.85%29.aspx ein Beispielskript bereits, dass sofort nach neuen Updates [...]]]></description>
			<content:encoded><![CDATA[<p><img title="icon-05" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="64" alt="icon-05" src="http://www.mbaeker.de/wp-content/uploads/2010/02/icon052.png" width="64" align="left" border="0" /> Wenn in einer Organisation auf die Server nicht automatisch die Updates zu den Wartungsterminen installiert werden, sondern nur angeboten werden, dann ist dies auf Windows 2008 Core Systemen schwierig, da es keine Benachrichtigung in der (nicht existenten) Taskliste gibt.</p>
<p>Um dies zu lösen stellt Microsoft unter <a title="http://msdn.microsoft.com/en-us/library/aa387102%28VS.85%29.aspx" href="http://msdn.microsoft.com/en-us/library/aa387102%28VS.85%29.aspx">http://msdn.microsoft.com/en-us/library/aa387102%28VS.85%29.aspx</a> ein Beispielskript bereits, dass sofort nach neuen Updates sucht und anbietet diese zu installieren:</p>
<p>&#160;</p>
<pre>cscript wsusinstall.vbs
Microsoft (R) Windows Script Host, Version 5.7
Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.

Searching for updates...

List of applicable items on the machine:
1&gt; Update für Windows Server 2008 x64 Edition (KB968389)
2&gt; Sicherheitsupdate für Windows Server 2008 x64 Edition (KB967723)
3&gt; Sicherheitsupdate für Jscript 5.7 für Windows Server 2008 x64
Edition (KB971961)

Creating collection of updates to download:
1&gt; adding: Update für Windows Server 2008 x64 Edition (KB968389)
2&gt; adding: Sicherheitsupdate für Windows Server 2008 x64 Edition (KB967723)
3&gt; adding: Sicherheitsupdate für Jscript 5.7 für Windows Server 2008 x64 Edition (KB971961)

Downloading updates...

List of downloaded updates:
1&gt; Update für Windows Server 2008 x64 Edition (KB968389)
2&gt; Sicherheitsupdate für Windows Server 2008 x64 Edition (KB967723)
3&gt; Sicherheitsupdate für Jscript 5.7 für Windows Server 2008 x64 Edition (KB971961)

Creating collection of downloaded updates to install:
1&gt; adding:  Update für Windows Server 2008 x64 Edition (KB968389)
2&gt; adding:  Sicherheitsupdate für Windows Server 2008 x64 Edition (KB967723)
3&gt; adding:  Sicherheitsupdate für Jscript 5.7 für Windows Server 2008 x64 Edition (KB971961)

Would you like to install updates now? (Y/N)
y

Installing updates...
Installation Result: 2
Reboot Required: True

Listing of updates installed and individual installation results:
1&gt; Update für Windows Server 2008 x64 Edition (KB968389): 2
2&gt; Sicherheitsupdate für Windows Server 2008 x64 Edition (KB967723): 2
3&gt; Sicherheitsupdate für Jscript 5.7 für Windows Server 2008 x64 Edition (KB971961): 2</pre>
<p>Das Script ist auch auf “normalen” GUI Systemen interessant, da es sicherstellt, dass sofort nach neuen Updates vom WSUS Server gesucht wird.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbaeker.de/2010/02/updateinstallation-auf-windows-2008-core/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rollout von WinZip 12 mit SCCM</title>
		<link>http://www.mbaeker.de/2009/10/rollout-von-winzip-12-mit-sccm/</link>
		<comments>http://www.mbaeker.de/2009/10/rollout-von-winzip-12-mit-sccm/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 21:24:25 +0000</pubDate>
		<dc:creator>markus</dc:creator>
				<category><![CDATA[Configuration Manager]]></category>
		<category><![CDATA[Deutsch]]></category>
		<category><![CDATA[System Center]]></category>

		<guid isPermaLink="false">http://www.mbaeker.de/?p=221</guid>
		<description><![CDATA[Hier mal eine kleine Batchdatei zur Verteilung von WinZip inkl. des Lizenzfiles:
@echo off
rem alte winzip version deinstallieren
MsiExec.exe /X{CD95F661-A5C4-44F5-A6AA-ECDD91C240B5} /l* %systemroot%\deinstall_winzip111.log /qn REBOOT=REALLYSUPPRESS
rem copy Lizenzfile to all Users profile
md &#8220;%ALLUSERSPROFILE%\WinZip\&#8221;
copy /y &#8220;%~dp0winzip.wzmul&#8221; &#8220;%ALLUSERSPROFILE%\WinZip\&#8221;
rem neue Version installieren:
rem Erklärung der Parameter:
rem /noqp = no quickpick icon in system tray
rem /notip = no tip of the day
rem /noc4u = [...]]]></description>
			<content:encoded><![CDATA[<p>Hier mal eine kleine Batchdatei zur Verteilung von WinZip inkl. des Lizenzfiles:</p>
<p>@<a href="http://twitter.com/echo" rel="nofollow" target="_blank" title="View echo's Twitter Profile">echo</a> off</p>
<p>rem alte winzip version deinstallieren</p>
<p>MsiExec.exe /X{CD95F661-A5C4-44F5-A6AA-ECDD91C240B5} /l* %systemroot%\deinstall_winzip111.log /qn REBOOT=REALLYSUPPRESS</p>
<p>rem copy Lizenzfile to all Users profile</p>
<p>md &#8220;%ALLUSERSPROFILE%\WinZip\&#8221;</p>
<p>copy /y &#8220;%~dp0winzip.wzmul&#8221; &#8220;%ALLUSERSPROFILE%\WinZip\&#8221;</p>
<p>rem neue Version installieren:</p>
<p>rem Erklärung der Parameter:</p>
<p>rem /noqp = no quickpick icon in system tray</p>
<p>rem /notip = no tip of the day</p>
<p>rem /noc4u = don&#8217;t check for updates</p>
<p>rem /nopredefinedjobs = no predefined sample jobs in the Winzip menu</p>
<p>rem ADDDESKTOPICON=0 (Disable the WinZip Desktop icon to the user&#8217;s desktop)</p>
<p>rem ADDMENUGROUP=1 (Add a WinZip Menu Group item to&#8230; Start-&gt; All Programs -&gt; WinZip for each user )</p>
<p>rem ADDSTARTMENU=0 (Disable WinZip to the top of each user&#8217;s Start Menu)</p>
<p>rem  ALLUSERS=1 (per Machine)</p>
<p>rem Accept=Yes (Accept EULA)</p>
<p>msiexec /i &#8220;%~dp0wz121gev.msi&#8221; /qn /l* %systemroot%\install_winzip121.log ADDDESKTOPICON=0 ADDMENUGROUP=1 ADDSTARTMENU=0 ALLUSERS=1 Accept=Yes INSTALLCMD=&#8221;/noqp /notip /noc4u /nopredefinedjobs /autoinstall&#8221; REBOOT=REALLYSUPPRESS /m winzip.mif</p>
<p>In SCCM ein Package mit den Installationsfiles erstellen. Die WinZip MSI Version von der CD kopieren und ins gleiche Verzeichnis die Lizenzdatei hineinstellen. Als Programm die oben beschriebene Batchdatei eintragen. Bei den  Reporting Information wird im Dateinamen winzip eingetragen.</p>
<p>Mein Standardvorgehen:</p>
<ul>
<li>Möglichst keine statischen Pfade, sondern immer Variablen (z.B. %systemroot% anstatt c:\windows)</li>
<li>Möglichst immer absolute Pfade zu Dateien &#8211; man weiss ja nie worauf gerade der aktuelle Pfad zeigt. Daher immer ein %~dp0 (%0: Pfad zu Batchdatei, ~: Falls &#8220;, dann entfernen, d: Laufwerksbuchstabe, p: Pfad, %~dp0: Pfad zur Batchdatei ohne Name der Batchdatei (aber mit \ am Ende))</li>
<li>Möglichst viel loggen, dass hilft beim Debuggen</li>
<li>Möglichst immer die original Setupdateien verwenden. Der Hersteller dürfte dort bereits sein KnowHow eingebaut haben.</li>
</ul>
<p>Noch Fragen? -&gt; Comment!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbaeker.de/2009/10/rollout-von-winzip-12-mit-sccm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
