<?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; WinPE</title>
	<atom:link href="http://www.mbaeker.de/tag/winpe/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mbaeker.de</link>
	<description>Use %~dp0 !!!</description>
	<lastBuildDate>Tue, 31 Jan 2012 10:49:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>SCCM: In WinPE fehlende Treiber ermitteln</title>
		<link>http://www.mbaeker.de/2011/10/sccm-in-winpe-fehlende-treiber-ermitteln/</link>
		<comments>http://www.mbaeker.de/2011/10/sccm-in-winpe-fehlende-treiber-ermitteln/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 14:55:35 +0000</pubDate>
		<dc:creator>markus</dc:creator>
				<category><![CDATA[Configuration Manager]]></category>
		<category><![CDATA[Deutsch]]></category>
		<category><![CDATA[System Center]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[Treiber]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[WinPE]]></category>

		<guid isPermaLink="false">http://www.mbaeker.de/?p=755</guid>
		<description><![CDATA[Für die OS Installation wird in SCCM ein WinPE Bootimage eingesetzt. Über die Konsole lässt sich hier auf einfache Art und Weise zusätzliche Treiber einbinden. Relevant ist dies im Allgemeinen nur für sehr neue Netzwerk bzw. SATA Treiber, da Windows 7 von Haus aus schon sehr viele Geräte unterstützt. Manchmal ist es schwierig den passenden [...]]]></description>
			<content:encoded><![CDATA[<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="Disconnected" border="0" alt="Disconnected" align="left" src="http://www.mbaeker.de/wp-content/uploads/2011/10/Disconnected.png" width="77" height="77" />Für die OS Installation wird in SCCM ein WinPE Bootimage eingesetzt. Über die Konsole lässt sich hier auf einfache Art und Weise zusätzliche Treiber einbinden. Relevant ist dies im Allgemeinen nur für sehr neue Netzwerk bzw. SATA Treiber, da Windows 7 von Haus aus schon sehr viele Geräte unterstützt.</p>
<p>Manchmal ist es schwierig den passenden Treiber zu finden. Hilfreich dabei ist die PCI Device ID. Mit dieser eindeutigen ID kann man den Hersteller (VEN_XYZ) und das entsprechende Gerät (DEV_…) über eine Google Suche ermitteln. </p>
<p>Um diese ID zu ermitteln muss man zuerst die Kommandozeilen Option im WinPE Boot Image aktivieren (Eigenschaften des Images).</p>
<p>Danach kann man per F8 eine Kommandozeile auf dem System mit den fehlenden Treibern starten und per</p>
<p>wmic nic get PNPDeviceID</p>
<p>bzw.</p>
<p>wmic idecontroller get deviceid</p>
<p>die IDs ermitteln. Ein Beispiel der Ausgabe ist im folgenden Bild dargestellt:</p>
<p><a href="http://www.mbaeker.de/wp-content/uploads/2011/10/pciid.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="pciid" border="0" alt="pciid" src="http://www.mbaeker.de/wp-content/uploads/2011/10/pciid_thumb.png" width="530" height="425" /></a></p>
<p>Relevant sind hier nur die PCI\VEN… Einträge.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbaeker.de/2011/10/sccm-in-winpe-fehlende-treiber-ermitteln/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enteo, Powershell und Installationsstatus</title>
		<link>http://www.mbaeker.de/2011/07/enteo-powershell-und-installationsstatus/</link>
		<comments>http://www.mbaeker.de/2011/07/enteo-powershell-und-installationsstatus/#comments</comments>
		<pubDate>Sat, 23 Jul 2011 13:32:31 +0000</pubDate>
		<dc:creator>markus</dc:creator>
				<category><![CDATA[Deutsch]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Enteo]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[WinPE]]></category>

		<guid isPermaLink="false">http://www.mbaeker.de/?p=619</guid>
		<description><![CDATA[Zentraler Punkt in dem Script ist die Erkennung in welchem status die Installation gerade ist. Folgende Status sind möglich: Installation noch nicht eingeplant Installation eingeplant aber noch nicht gestartet Installation ist angelaufen aber noch nicht beendet Installation ist durchgelaufen Zur Ermittlung dierer Status greifen wir wieder auf das Auslesen von PolicyInstancen zurück. Dazu werden am [...]]]></description>
			<content:encoded><![CDATA[<p>Zentraler Punkt in dem Script ist die Erkennung in welchem status die Installation gerade ist. Folgende Status sind möglich:</p>
<ul>
<li>Installation noch nicht eingeplant</li>
<li>Installation eingeplant aber noch nicht gestartet</li>
<li>Installation ist angelaufen aber noch nicht beendet</li>
<li>Installation ist durchgelaufen</li>
</ul>
<p>Zur Ermittlung dierer Status greifen wir wieder auf das Auslesen von PolicyInstancen zurück. Dazu werden am Anfang einige Policy-IDs definiert, die die verschiedene Status beschreiben:<br />
<span id="more-619"></span></p>
<ul>
<li>$OSStatDateTask: Die Policy, die den Anfang der Installation markiert</li>
<li>$FirstOSTask: Die Policy, die nach derHardwareerkennung dynamisch hinzugefügt wird.  Zur Ermittlung der Installation wird diese verwendet, da dadurch sichergestellt wird, dass der Client aus dem WinPE mit dem Enteo Server kommunizieren konnte</li>
<li>$LastOSTask: Die letzte Policy in einer Installation.</li>
</ul>
<p>Der Scriptauszug sind dann so aus:</p>
<pre class="brush: powershell; title: ; notranslate">
$ospolicy=get-emdbpolicyInstance $pc.path | where {$_.AssignedObjectID -eq $FirstOSTask}
if ($ospolicy)
{
   $osReinstall=$true
   $ospolicy=get-emdbpolicyInstance $pc.path | where {$_.AssignedObjectID -eq $OSStartDateTask}
   if ($ospolicy.installationDate) {
      if (((($ospolicy.InstallationDate) - (get-date)).days) -eq 7)
      {
         $osstart=$ospolicy.InstallationDate
         $lastospolicy=get-emdbpolicyInstance $pc.path | where {$_.AssignedObjectID -eq $LastOSTask}
         $osend=$lastospolicy.InstallationDate
      }
   }
   else
   {
      $osstart=$false
   }
}
else
{
   $osReinstall=$false
}
</pre>
<p>Am Anfang wird kontrolliert, ob die FirstOSTask Policy bereits zugeordmet ist. Ist dies der Fall, dann ist die Installation bereits angelaufen. Um das Startdatum zu ermitteln wird daher die OSStartDateTask Policy ausgelesen und das Datum in der $osstart Variable abgelegt. An dieser Stelle wird auch ermitteln, ob die Installation bereits x Tage zurückliegt. Dies soll eine Neueinplanung der Installation ermöglichen.</p>
<p>Durch die Ermittlung der LastOSTask Policy wird erkannt, ob die Installation bereits beendet wurde bzw. wann dies der Fall war.</p>
<p>Insgesamt erzeugt dieser Code folgende Statusvariablen:</p>
<ul>
<li>$osReinstall=$false: FirstOSTask wurde nicht gefunden, daher war die Installation noch nicht eingeplant</li>
<li>$osStart=$false oder Datum: Installation noch nicht gestartet ($false) oder ist zum Zeitpunkt x gestartet.</li>
<li>$osend=null oder Datum: Installation ist noch nicht beendet bzw. zum Zeitpunkt x beendet.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mbaeker.de/2011/07/enteo-powershell-und-installationsstatus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bluescreen und Treibermanagement in SCCM</title>
		<link>http://www.mbaeker.de/2009/01/bluescreen-und-treibermanagement-in-sccm/</link>
		<comments>http://www.mbaeker.de/2009/01/bluescreen-und-treibermanagement-in-sccm/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 17:54:52 +0000</pubDate>
		<dc:creator>markus</dc:creator>
				<category><![CDATA[System Center]]></category>
		<category><![CDATA[0x000035a]]></category>
		<category><![CDATA[bluescreen]]></category>
		<category><![CDATA[Broadcom]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[Treiber]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[WinPE]]></category>

		<guid isPermaLink="false">http://www.mbaeker.de/?p=51</guid>
		<description><![CDATA[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): Schaut man sich die Boot Image Treiber genauer an, so erkennt man schnell einen Intel Storage Treiber.  Unter Drivers kann man ebenfalls erkennen, [...]]]></description>
			<content:encoded><![CDATA[<p>Treibermanagement in SCCM ist recht einfach gestaltet, trotzdem sollte man eine gewisse Organisation und Vorsicht walten lassen. Daher mal diesmal ein paar Basics:</p>
<p>Eindeutiges Zeichen für einen Fehler ist folgender Bluescreen (0xc000035a):</p>
<p><img class="alignnone size-full wp-image-52" title="winpe-bluescreen" src="http://www.mbaeker.de/wp-content/uploads/2009/01/winpe-x64-storage-on-x86boot.png" alt="winpe-bluescreen" width="711" height="538" /></p>
<p>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: &#8220;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 […]&#8220;.</p>
<p>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:</p>
<p><img class="alignnone size-full wp-image-54" title="intel-storage-properties" src="http://www.mbaeker.de/wp-content/uploads/2009/01/winpe-x64-storage-on-x86boot-properties.png" alt="intel-storage-properties" width="408" height="503" /></p>
<p>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.</p>
<p>Merke: Treiber immer genau anschauen und nur in die Image/Packages hinzufügen wo sie benötigt werden. (s.a. Post zu Broadcom Treibern)</p>
<p>Manchmal macht es sogar Sinn sich dieEigenschaften der  Treiberdatei selber anzuschauen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbaeker.de/2009/01/bluescreen-und-treibermanagement-in-sccm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SCCM und Broadcom+WinPE</title>
		<link>http://www.mbaeker.de/2008/12/sccm-und-broadcomwinpe/</link>
		<comments>http://www.mbaeker.de/2008/12/sccm-und-broadcomwinpe/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 17:47:00 +0000</pubDate>
		<dc:creator>markus</dc:creator>
				<category><![CDATA[System Center]]></category>
		<category><![CDATA[Broadcom]]></category>
		<category><![CDATA[HP]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[Treiber]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[WinPE]]></category>

		<guid isPermaLink="false">http://www.mbaeker.de/?p=13</guid>
		<description><![CDATA[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 &#8220;Grundtreiber&#8221; geladen. Dieser stellt aber nur die [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>Die verbauten Broadcom Karten (NetXtreme II) haben ein etwas komplizierteres Treibermodel: Zuerst wird ein &#8220;Grundtreiber&#8221; 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).</p>
<p>Langer Text, kurze Lösung:</p>
<p>Auf den Broadcom Seiten direkt gibt es einen monolithischen Treiber, der nur eine Schicht benötigt. (<a href="http://www.koernerstrasse1.de/feed/" target="_blank">http://www.broadcom.com/support/ethernet_nic/netxtremeii.php</a>, Windows Remote Installation Service (RIS) Drivers)</p>
<p>Wichtig: Diesen Treiber <strong>nur</strong> 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 <img src='http://www.mbaeker.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbaeker.de/2008/12/sccm-und-broadcomwinpe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

