<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0">
  <channel>
    <title>Cyco Geek</title>
    <description>Geek life with a Cyco</description>
    <link>http://cycogeek.fiesta25.com/blogs/cycogeek/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.4.5.0</generator>
    <language>en-GB</language>
    <blogChannel:blogRoll>http://cycogeek.fiesta25.com/blogs/cycogeek/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.dotnetblogengine.net/syndication.axd</blogChannel:blink>
    <dc:creator>Randy DeForest - CycoGeek</dc:creator>
    <dc:title>Cyco Geek</dc:title>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/CycoGeek" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>Sprint Retrospective – Good vs. Evil</title>
      <description>&lt;p&gt;
I have been working with &lt;a href="http://en.wikipedia.org/wiki/Scrum_(development)" target="_blank"&gt;Agile/SCRUM&lt;/a&gt; for some time now. I am an evangelical supporter of it. 
&lt;/p&gt;
&lt;p&gt;
The SCRUM process provides a platform for success based on agility, accountability and team work. One of the very best aspects of SCRUM, the Sprint Retrospective, is a source of both good and evil.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The Good&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The sprint retrospective allows teams to call out the things that went well during the sprint. This process outlines the positive/outstanding aspects of the sprint.
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&amp;ldquo;The team did a great job during the demo&amp;rdquo;&lt;/li&gt;
	&lt;li&gt;&amp;ldquo;Team communication&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The second and most important part of the retro is &amp;ldquo;What can we do better?&amp;rdquo; (or &amp;ldquo;What did not go so well?&amp;rdquo;). This discussion allows teams to identify the aspects of the sprint that did not go well and should be improved or flat eliminated from future sprints.
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&amp;ldquo;Not enough time allocated to testing&amp;rdquo;&lt;/li&gt;
	&lt;li&gt;&amp;ldquo;Stake holders not engaged enough&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The third step in the sprint retrospective is recommendations and action items. These items are generally derived from the &amp;ldquo;What can we do better?&amp;rdquo; phase of the retro. These lists are used to make future sprints more successful.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Recommendations&lt;/em&gt;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&amp;ldquo;Add more testing resources&amp;rdquo;&lt;/li&gt;
	&lt;li&gt;&amp;ldquo;Follow up more often with stake holders&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;em&gt;Action Items&lt;/em&gt;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&amp;ldquo;Meet with testing team manager to gain more testing resources&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;The Bad&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The sprint retro also has an evil side.
&lt;/p&gt;
&lt;p&gt;
During the &amp;ldquo;What went well?&amp;rdquo; phase of the retro, some teams can get a tad, and in some cases more than a tad, self-congratulatory, calling out items that were simply part of the sprint.
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&amp;ldquo;Tasks were completed&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
In some cases, teams will glorify successes based on a previous failure.
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&amp;ldquo;We got everything done!&amp;rdquo; (Even though we had to extend the sprint)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Teams will also comment on the same &amp;ldquo;successes&amp;rdquo; in each sprint. Listing items as successful for each sprint devalues any accomplishment.
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&amp;ldquo;We had a stand up every day!&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The &amp;ldquo;What can we do better?&amp;rdquo; phase has some potential for evil too.
&lt;/p&gt;
&lt;p&gt;
Calling out a specific failure of a team member is one of them. This practice should be shut-down immediately by the SCRUM master. In SCRUM, the team is a sum of its parts.
&lt;/p&gt;
&lt;blockquote&gt;
	&lt;p&gt;
	&amp;ldquo;All for one and one for all!&amp;rdquo;
	&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Sprint retro evils are usually the product of a new team or team members that are new to the SCRUM methodology. Evils came raise their ugly heads with teams that have grown over-confident and too comfortable. The SCRUM master should control the Evils as the pop up.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The Bottom Line&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The bottom line is: The sprint retrospective is a time for honesty and support. Be honest about your successes and your failures.
&lt;/p&gt;
&lt;p&gt;
Pumping up successes and under reporting failures will (not can --- WILL) lead you down the path to the Dark Side.
&lt;/p&gt;
&lt;p&gt;
Thanks for listening.&lt;br /&gt;
(Special shout out to &lt;a href="http://geekswithblogs.net/BizTodd/Default.aspx"&gt;BizTodd&lt;/a&gt;!&amp;nbsp; Thanks for the edit!)
&lt;/p&gt;
</description>
      <link>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2009/07/22/Sprint-Retrospective-e28093-Good-vs-Evil.aspx</link>
      <author>randy.nospam@nospam.fiesta25.com (randy)</author>
      <comments>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2009/07/22/Sprint-Retrospective-e28093-Good-vs-Evil.aspx#comment</comments>
      <guid>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=2cfba597-ec57-4ce3-9c96-1f011114bf9c</guid>
      <pubDate>Wed, 22 Jul 2009 10:33:00 -0700</pubDate>
      <category>SCRUM</category>
      <category>Agile</category>
      <dc:publisher>randy</dc:publisher>
      <pingback:server>http://cycogeek.fiesta25.com/blogs/cycogeek/pingback.axd</pingback:server>
      <pingback:target>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=2cfba597-ec57-4ce3-9c96-1f011114bf9c</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://cycogeek.fiesta25.com/blogs/cycogeek/trackback.axd?id=2cfba597-ec57-4ce3-9c96-1f011114bf9c</trackback:ping>
      <wfw:comment>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2009/07/22/Sprint-Retrospective-e28093-Good-vs-Evil.aspx#comment</wfw:comment>
      <wfw:commentRss>http://cycogeek.fiesta25.com/blogs/cycogeek/syndication.axd?post=2cfba597-ec57-4ce3-9c96-1f011114bf9c</wfw:commentRss>
    </item>
    <item>
      <title>Phoenix Connected Systems User Group</title>
      <description>&lt;p&gt;
&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" src="http://pcsug.org/Content/Images/Logo.jpg" alt="Phoenix Connected Systems User Group" width="438" height="110" /&gt; 
&lt;/p&gt;
&lt;p&gt;
Last night I attended my first Phoenix Connected Systems User Group, &lt;a href="http://pcsug.org" target="_blank"&gt;PCSUG.org&lt;/a&gt;.&amp;nbsp; I must say, I am happy that I went! 
&lt;/p&gt;
&lt;p&gt;
The group is run by &lt;a href="http://rickgaribay.net/" target="_blank"&gt;Rick Garibay&lt;/a&gt; and &lt;a href="http://geekswithblogs.net/BizTodd/Rss.aspx" title="Todd Sussman"&gt;Todd Sussman&lt;/a&gt;&amp;ndash; two absolute rock stars in the .NET world.&amp;nbsp; The group meets the second Thursday of each month.&amp;nbsp; It is more that worth the time to attend one of these meetings. 
&lt;/p&gt;
&lt;p&gt;
The topic for this month was Client Application Systems, more specifically, the use of ASP.NET membership and roles in a windows application.&amp;nbsp; The demo also included methods for utilizing WCF and standard web services to achieve this functionality.&amp;nbsp; Lastly, the talk provided an overview of maintaining user settings, and having those settings follow the user to different computers. 
&lt;/p&gt;
&lt;p&gt;
Hope to see you there next month! 
&lt;/p&gt;
&lt;p&gt;
Thanks for listening. 
&lt;/p&gt;
</description>
      <link>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2009/04/10/Phoenix-Connected-Systems-User-Group.aspx</link>
      <author>randy.nospam@nospam.fiesta25.com (randy)</author>
      <comments>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2009/04/10/Phoenix-Connected-Systems-User-Group.aspx#comment</comments>
      <guid>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=b5861eda-0180-4f17-bc29-d081662cc0d7</guid>
      <pubDate>Fri, 10 Apr 2009 13:50:00 -0700</pubDate>
      <category>PCSUG</category>
      <dc:publisher>randy</dc:publisher>
      <pingback:server>http://cycogeek.fiesta25.com/blogs/cycogeek/pingback.axd</pingback:server>
      <pingback:target>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=b5861eda-0180-4f17-bc29-d081662cc0d7</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://cycogeek.fiesta25.com/blogs/cycogeek/trackback.axd?id=b5861eda-0180-4f17-bc29-d081662cc0d7</trackback:ping>
      <wfw:comment>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2009/04/10/Phoenix-Connected-Systems-User-Group.aspx#comment</wfw:comment>
      <wfw:commentRss>http://cycogeek.fiesta25.com/blogs/cycogeek/syndication.axd?post=b5861eda-0180-4f17-bc29-d081662cc0d7</wfw:commentRss>
    </item>
    <item>
      <title>Non-Stored Procedure SQL Scripts in a Database Project (VSTS 2008)</title>
      <description>&lt;p&gt;
When storing SQL scripts in a database project, &lt;em&gt;that are not stored procedures&lt;/em&gt;, VS will give you some grief. 
&lt;/p&gt;
&lt;p&gt;
Build Error: 
&lt;/p&gt;
&lt;blockquote&gt;
	&lt;p&gt;
	&lt;font color="#0000ff"&gt;Error&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp; TSD7025: Unable to identify the schema type contained in the .sql file.&amp;nbsp; A schema type of &amp;#39;Procedure&amp;#39; was expected, based on the name of the .sql file.&lt;/font&gt; 
	&lt;/p&gt;
	&lt;p&gt;
	&amp;nbsp;
	&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
To get around this, update the properties of the file in VS to &amp;ldquo;Not In Build&amp;rdquo;. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=image.png"&gt;&lt;img style="display: inline; border-width: 0px" src="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=image_thumb.png" border="0" alt="image" title="image" width="605" height="194" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Thanks for listening. 
&lt;/p&gt;
</description>
      <link>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2009/03/26/Non-Stored-Procedure-SQL-Scripts-in-a-Database-Project-(VSTS-2008).aspx</link>
      <author>randy.nospam@nospam.fiesta25.com (randy)</author>
      <comments>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2009/03/26/Non-Stored-Procedure-SQL-Scripts-in-a-Database-Project-(VSTS-2008).aspx#comment</comments>
      <guid>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=7368d03e-8eee-4d1a-b78d-ed562740acf3</guid>
      <pubDate>Thu, 26 Mar 2009 15:58:00 -0700</pubDate>
      <category>SQL Sever</category>
      <category>VSTS 2008</category>
      <dc:publisher>randy</dc:publisher>
      <pingback:server>http://cycogeek.fiesta25.com/blogs/cycogeek/pingback.axd</pingback:server>
      <pingback:target>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=7368d03e-8eee-4d1a-b78d-ed562740acf3</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://cycogeek.fiesta25.com/blogs/cycogeek/trackback.axd?id=7368d03e-8eee-4d1a-b78d-ed562740acf3</trackback:ping>
      <wfw:comment>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2009/03/26/Non-Stored-Procedure-SQL-Scripts-in-a-Database-Project-(VSTS-2008).aspx#comment</wfw:comment>
      <wfw:commentRss>http://cycogeek.fiesta25.com/blogs/cycogeek/syndication.axd?post=7368d03e-8eee-4d1a-b78d-ed562740acf3</wfw:commentRss>
    </item>
    <item>
      <title>Maybe not so obvious</title>
      <description>&lt;p&gt;I know this might sound a bit on the obvious side, but …&lt;/p&gt;  &lt;p&gt;When using an ASP text box, with the read only setting set to True, any value in the text property (with client side JavaScript perhaps) will be ignored on post back.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;The following code:&lt;/p&gt;  &lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 500px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; height: 430px; background-color: #f4f4f4; text-align: left"&gt;   &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;     &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span style="background-color: #ffff00"&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot;  CodeFile=&amp;quot;Default.aspx.cs&amp;quot; Inherits=&amp;quot;_Default&amp;quot; %&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;!&lt;/span&gt;&lt;span style="color: #800000"&gt;DOCTYPE&lt;/span&gt; &lt;span style="color: #ff0000"&gt;html&lt;/span&gt; &lt;span style="color: #ff0000"&gt;PUBLIC&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;html&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;head&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;title&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;TextBox ReadOnly Demo&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;title&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   &lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum2" style="color: #606060"&gt;   &lt;/span&gt;         &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; replaceText() {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum3" style="color: #606060"&gt;   &lt;/span&gt;             &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; tBox = document.getElementById(&lt;span style="color: #006080"&gt;'&amp;lt;%=Target.ClientID%&amp;gt;'&lt;/span&gt;);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum4" style="color: #606060"&gt;   &lt;/span&gt;             tBox.value = &lt;span style="color: #006080"&gt;'foo'&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum5" style="color: #606060"&gt;   &lt;/span&gt;         }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum6" style="color: #606060"&gt;   &lt;/span&gt;     &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;head&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;body&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;form&lt;/span&gt; &lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;form1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;asp:TextBox&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Target&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt;  &lt;span style="color: #ff0000"&gt;ReadOnly&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;input&lt;/span&gt; &lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;htmlBtn&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;button&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Populate TextBox&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;onclick&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Javascript:replaceText();&amp;quot;&lt;/span&gt;  &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;        &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;asp:Button&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Go&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Go!&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;onclick&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Go_Click&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;form&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;body&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;html&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This will open a simple web page with two buttons and a textbox control.&lt;/p&gt;

&lt;p&gt;The first button is an HTML input button.&amp;#160; It fires a JavaScript function that populates the value of the ASP textbox with ‘foo’. 
  &lt;br /&gt;The second button performs a post back that calls a method the does a ‘Response.Write’ to display the value of the text property of the ASP textbox.&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 400px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; height: 75px; background-color: #f4f4f4; text-align: left"&gt;
  &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;
    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Go_Click(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;    Response.Write(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #006080"&gt;&amp;quot;Returned Text: {0}&amp;quot;&lt;/span&gt;, Target.Text));&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;No tricks.&lt;/p&gt;

&lt;p&gt;When this code is run:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=image3.png"&gt;&lt;img title="image_thumb1" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="130" alt="image_thumb1" src="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=image_thumb1.png" width="439" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Click “Populate TextBox”&lt;/p&gt;

&lt;p&gt;&lt;a href="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=image7.png"&gt;&lt;img title="image_thumb3" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="134" alt="image_thumb3" src="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=image_thumb3.png" width="438" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Click “Go!”&lt;/p&gt;

&lt;p&gt;&lt;a href="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=image15.png"&gt;&lt;img title="image_thumb7" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="231" alt="image_thumb7" src="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=image_thumb7.png" width="649" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Result&lt;/p&gt;

&lt;p&gt;&lt;a href="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=image19.png"&gt;&lt;img title="image_thumb9" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="138" alt="image_thumb9" src="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=image_thumb9.png" width="445" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;There you have it!&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Thanks for listening.&lt;/p&gt;</description>
      <link>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2009/03/25/Maybe-Not-So-Obvious.aspx</link>
      <author>randy.nospam@nospam.fiesta25.com (randy)</author>
      <comments>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2009/03/25/Maybe-Not-So-Obvious.aspx#comment</comments>
      <guid>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=984e6cca-f89b-4024-8d09-fb2e25059dbf</guid>
      <pubDate>Wed, 25 Mar 2009 13:27:34 -0700</pubDate>
      <category>ASPX</category>
      <dc:publisher>randy</dc:publisher>
      <pingback:server>http://cycogeek.fiesta25.com/blogs/cycogeek/pingback.axd</pingback:server>
      <pingback:target>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=984e6cca-f89b-4024-8d09-fb2e25059dbf</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://cycogeek.fiesta25.com/blogs/cycogeek/trackback.axd?id=984e6cca-f89b-4024-8d09-fb2e25059dbf</trackback:ping>
      <wfw:comment>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2009/03/25/Maybe-Not-So-Obvious.aspx#comment</wfw:comment>
      <wfw:commentRss>http://cycogeek.fiesta25.com/blogs/cycogeek/syndication.axd?post=984e6cca-f89b-4024-8d09-fb2e25059dbf</wfw:commentRss>
    </item>
    <item>
      <title>Long Time</title>
      <description>&lt;p&gt;
I know &amp;hellip; I&amp;rsquo;m not supposed to blog about not blogging.&amp;nbsp; Deal with it. 
&lt;/p&gt;
&lt;p&gt;
I have spent the past several months getting used to a new team, in a new company.&amp;nbsp; I have been lucky enough to land in an organization that is truly &amp;ldquo;Geekville&amp;rdquo;.&amp;nbsp; My team members are among the best around.&amp;nbsp; My tools are top notch.&amp;nbsp; Running SCRUM.&amp;nbsp; It is a great place to be. 
&lt;/p&gt;
&lt;p&gt;
I am also lucky enough to get to work on several different platforms: BizTalk, SharePoint, SQL Server 2008, VSTS 2008 &amp;hellip; and the list goes on. 
&lt;/p&gt;
&lt;p&gt;
Now that I am settled in, as much as I can be at this point, I will start hitting the blog more. 
&lt;/p&gt;
&lt;p&gt;
Thanks for keeping me in mind these past months. 
&lt;/p&gt;
&lt;p&gt;
Thanks for listening. 
&lt;/p&gt;
</description>
      <link>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2009/03/17/Long-Time.aspx</link>
      <author>randy.nospam@nospam.fiesta25.com (randy)</author>
      <comments>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2009/03/17/Long-Time.aspx#comment</comments>
      <guid>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=da2b36ac-69ef-4b8f-b201-6bf191c01208</guid>
      <pubDate>Tue, 17 Mar 2009 12:59:00 -0700</pubDate>
      <dc:publisher>randy</dc:publisher>
      <pingback:server>http://cycogeek.fiesta25.com/blogs/cycogeek/pingback.axd</pingback:server>
      <pingback:target>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=da2b36ac-69ef-4b8f-b201-6bf191c01208</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://cycogeek.fiesta25.com/blogs/cycogeek/trackback.axd?id=da2b36ac-69ef-4b8f-b201-6bf191c01208</trackback:ping>
      <wfw:comment>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2009/03/17/Long-Time.aspx#comment</wfw:comment>
      <wfw:commentRss>http://cycogeek.fiesta25.com/blogs/cycogeek/syndication.axd?post=da2b36ac-69ef-4b8f-b201-6bf191c01208</wfw:commentRss>
    </item>
    <item>
      <title>Check for Registry Keys on Remote Computers with VBScript</title>
      <description>&lt;p&gt;
I guess this would be Part 2 on VBScripting &amp;ndash; for today. 
&lt;/p&gt;
&lt;p&gt;
In the first post, &lt;a href="http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/12/09/Check-Running-Processes-on-Remote-Computers-with-VBScript.aspx"&gt;Check Running Processes on Remote Computers with VBScript&lt;/a&gt;, I outlined a VBScript process to determine if a specific process was running on a remote computer on the same network. 
&lt;/p&gt;
&lt;p&gt;
In this post, I have a VBScript that will scan the registry of remote computers on the same network for a specific registry key.&amp;nbsp; List the remote processes script, this process utilizes a file containing a list of all machines on the network.&amp;nbsp; The registry key name is a local variable. It would not be too hard to take this script and put it into a function and pass the registry key name (and machine list file name for that matter) as a parameter. 
&lt;/p&gt;
&lt;p&gt;
This script also utilizes &lt;a href="http://msdn.microsoft.com/en-us/library/aa393258(VS.85).aspx"&gt;Scripting API for WMI&lt;/a&gt; to interrogate the remote machine. 
&lt;/p&gt;
&lt;p&gt;
Take a look. 
&lt;/p&gt;
&lt;div style="line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: gray 1px solid; padding: 4px"&gt;
&lt;div style="line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; Set up some Constants&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #0000ff"&gt;Const&lt;/span&gt; HKEY_LOCAL_MACHINE = &amp;amp;H80000002
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #0000ff"&gt;Const&lt;/span&gt; ForAppending = 8
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #0000ff"&gt;Const&lt;/span&gt; ForReading = 1
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; Build the date tag for the log file name&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
sDate = right(&lt;span style="color: #006080"&gt;&amp;quot;00&amp;quot;&lt;/span&gt; &amp;amp; &lt;span style="color: #0000ff"&gt;cstr&lt;/span&gt;(month(&lt;span style="color: #0000ff"&gt;date&lt;/span&gt;())),2) &amp;amp; right(&lt;span style="color: #006080"&gt;&amp;quot;00&amp;quot;&lt;/span&gt; &amp;amp; &lt;span style="color: #0000ff"&gt;cstr&lt;/span&gt;(day(&lt;span style="color: #0000ff"&gt;date&lt;/span&gt;())),2) &amp;amp; right(&lt;span style="color: #006080"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &amp;amp; &lt;span style="color: #0000ff"&gt;cstr&lt;/span&gt;(year(&lt;span style="color: #0000ff"&gt;date&lt;/span&gt;())),4) &amp;amp; right(&lt;span style="color: #006080"&gt;&amp;quot;00&amp;quot;&lt;/span&gt; &amp;amp; &lt;span style="color: #0000ff"&gt;cstr&lt;/span&gt;(hour(time)),2) &amp;amp; right(&lt;span style="color: #006080"&gt;&amp;quot;00&amp;quot;&lt;/span&gt; &amp;amp; &lt;span style="color: #0000ff"&gt;cstr&lt;/span&gt;(minute(time)),2) &amp;amp; right(&lt;span style="color: #006080"&gt;&amp;quot;00&amp;quot;&lt;/span&gt; &amp;amp; &lt;span style="color: #0000ff"&gt;cstr&lt;/span&gt;(second(time)),2)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; Build the full log file name&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
sOutFileName = &lt;span style="color: #006080"&gt;&amp;quot;C:\Temp\reg_scan_log_&amp;quot;&lt;/span&gt; &amp;amp; sDate &amp;amp; &lt;span style="color: #006080"&gt;&amp;quot;.txt&amp;quot;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; set this to the registry key to search&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
sKeyPath = &lt;span style="color: #006080"&gt;&amp;quot;SYSTEM\CurrentControlSet\Services&amp;quot;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
 
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; Get the FSO moving&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #0000ff"&gt;Set&lt;/span&gt; oFSO = CreateObject(&lt;span style="color: #006080"&gt;&amp;quot;Scripting.FileSystemObject&amp;quot;&lt;/span&gt;)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; Open the file with containing all of the computers to scan (name or IP address)&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #0000ff"&gt;Set&lt;/span&gt; objTextFile_List = oFSO.OpenTextFile (&lt;span style="color: #006080"&gt;&amp;quot;C:\Temp\machineList.txt&amp;quot;&lt;/span&gt;, ForReading)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; Create and open the file for logging&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #0000ff"&gt;Set&lt;/span&gt; objTextFile = oFSO.OpenTextFile(sOutFileName, ForAppending, &lt;span style="color: #0000ff"&gt;True&lt;/span&gt;)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
 
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; Loop through the file containing machine names/IP addresses&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #0000ff"&gt;Do&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Until&lt;/span&gt; objTextFile_List.AtEndOfStream
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    sMachine = objTextFile_List.Readline
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #0000ff"&gt;Set&lt;/span&gt; WshShell = CreateObject(&lt;span style="color: #006080"&gt;&amp;quot;WScript.Shell&amp;quot;&lt;/span&gt;)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    bPing = &lt;span style="color: #0000ff"&gt;Not&lt;/span&gt; &lt;span style="color: #0000ff"&gt;CBool&lt;/span&gt;(WshShell.run(&lt;span style="color: #006080"&gt;&amp;quot;ping -n 1 &amp;quot;&lt;/span&gt; &amp;amp; sMachine, 0, &lt;span style="color: #0000ff"&gt;True&lt;/span&gt;))      
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #0000ff"&gt;If&lt;/span&gt; bPing = &lt;span style="color: #0000ff"&gt;True&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;         
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #0000ff"&gt;Set&lt;/span&gt; oReg=GetObject(&lt;span style="color: #006080"&gt;&amp;quot;winmgmts:{impersonationLevel=impersonate}!\\&amp;quot;&lt;/span&gt; &amp;amp; sMachine &amp;amp; &lt;span style="color: #006080"&gt;&amp;quot;\root\default:StdRegProv&amp;quot;&lt;/span&gt;)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
         
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #008000"&gt;&amp;#39; Create an enum of the key values&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        oReg.EnumValues HKEY_LOCAL_MACHINE, sKeyPath, arrValueNames, arrValueTypes
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
         
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #008000"&gt;&amp;#39; duh &lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #0000ff"&gt;ON&lt;/span&gt; &lt;span style="color: #0000ff"&gt;ERROR&lt;/span&gt; &lt;span style="color: #0000ff"&gt;RESUME&lt;/span&gt; &lt;span style="color: #0000ff"&gt;NEXT&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #008000"&gt;&amp;#39; check the array count&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #0000ff"&gt;If&lt;/span&gt; UBound(arrValueNames) &amp;gt; 0 &lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
            objTextFile.WriteLine(sMachine &amp;amp; &lt;span style="color: #006080"&gt;&amp;quot;: &amp;quot;&lt;/span&gt; &amp;amp; &lt;span style="color: #0000ff"&gt;cstr&lt;/span&gt;(UBound(arrValueNames)))
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;If&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #008000"&gt;&amp;#39; write the error message&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #0000ff"&gt;If&lt;/span&gt; err.number &amp;gt; 0 &lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
            objTextFile.WriteLine(sMachine &amp;amp; &lt;span style="color: #006080"&gt;&amp;quot;: &amp;quot;&lt;/span&gt; &amp;amp; err.Description)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;If&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #0000ff"&gt;Else&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #008000"&gt;&amp;#39; Set the appropriate response&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        objTextFile.WriteLine(sMachine &amp;amp; &lt;span style="color: #006080"&gt;&amp;quot;: Not on network&amp;quot;&lt;/span&gt;)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;If&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
loop
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Thanks for listening 
&lt;/p&gt;
</description>
      <link>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/12/09/Check-for-Registry-Keys-on-Remote-Computers-with-VBScript.aspx</link>
      <author>randy.nospam@nospam.fiesta25.com (randy)</author>
      <comments>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/12/09/Check-for-Registry-Keys-on-Remote-Computers-with-VBScript.aspx#comment</comments>
      <guid>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=047837f1-1f8c-47a5-a5eb-78707ef0a25e</guid>
      <pubDate>Tue, 09 Dec 2008 14:35:00 -0700</pubDate>
      <category>Scripting</category>
      <dc:publisher>randy</dc:publisher>
      <pingback:server>http://cycogeek.fiesta25.com/blogs/cycogeek/pingback.axd</pingback:server>
      <pingback:target>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=047837f1-1f8c-47a5-a5eb-78707ef0a25e</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://cycogeek.fiesta25.com/blogs/cycogeek/trackback.axd?id=047837f1-1f8c-47a5-a5eb-78707ef0a25e</trackback:ping>
      <wfw:comment>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/12/09/Check-for-Registry-Keys-on-Remote-Computers-with-VBScript.aspx#comment</wfw:comment>
      <wfw:commentRss>http://cycogeek.fiesta25.com/blogs/cycogeek/syndication.axd?post=047837f1-1f8c-47a5-a5eb-78707ef0a25e</wfw:commentRss>
    </item>
    <item>
      <title>Check Running Processes on Remote Computers with VBScript</title>
      <description>&lt;p&gt;
When things get muddy in a small IT shop, it is time for everyone to help out! 
&lt;/p&gt;
&lt;p&gt;
That is how a developer gets pulled into helping the network and Help Desk folks. 
&lt;/p&gt;
&lt;p&gt;
That said, I created this quick (kinda) and dirty (definitely) VBScript to check for a specific process running on each of the machines on the network.&amp;nbsp; The process utilizes a file containing a list of all machines on the network.&amp;nbsp; The process name is a local variable. It would not be too hard to take this script and put it into a function and pass the process name (and machine list file name for that matter) as a parameter. 
&lt;/p&gt;
&lt;p&gt;
This script utilizes &lt;a href="http://msdn.microsoft.com/en-us/library/aa393258(VS.85).aspx" target="_blank"&gt;Scripting API for WMI&lt;/a&gt; to interrogate the remote machines. 
&lt;/p&gt;
&lt;p&gt;
Take a look. 
&lt;/p&gt;
&lt;div style="line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: gray 1px solid; padding: 4px"&gt;
&lt;div style="line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; Set up some constants&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #0000ff"&gt;Const&lt;/span&gt; ForReading = 1
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #0000ff"&gt;Const&lt;/span&gt; ForAppending = 8
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; get the FSO open&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #0000ff"&gt;Set&lt;/span&gt; objFSO = CreateObject(&lt;span style="color: #006080"&gt;&amp;quot;Scripting.FileSystemObject&amp;quot;&lt;/span&gt;)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; Process you are looking for&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
sProcess = &lt;span style="color: #006080"&gt;&amp;quot;csrsc.exe&amp;quot;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; Build the date tag for the log file name&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
sDate = right(&lt;span style="color: #006080"&gt;&amp;quot;00&amp;quot;&lt;/span&gt; &amp;amp; &lt;span style="color: #0000ff"&gt;cstr&lt;/span&gt;(month(&lt;span style="color: #0000ff"&gt;date&lt;/span&gt;())),2) &amp;amp; right(&lt;span style="color: #006080"&gt;&amp;quot;00&amp;quot;&lt;/span&gt; &amp;amp; &lt;span style="color: #0000ff"&gt;cstr&lt;/span&gt;(day(&lt;span style="color: #0000ff"&gt;date&lt;/span&gt;())),2) &amp;amp; right(&lt;span style="color: #006080"&gt;&amp;quot;200&amp;quot;&lt;/span&gt; &amp;amp; &lt;span style="color: #0000ff"&gt;cstr&lt;/span&gt;(year(&lt;span style="color: #0000ff"&gt;date&lt;/span&gt;())),4) &amp;amp; right(&lt;span style="color: #006080"&gt;&amp;quot;00&amp;quot;&lt;/span&gt; &amp;amp; &lt;span style="color: #0000ff"&gt;cstr&lt;/span&gt;(hour(time)),2) &amp;amp; right(&lt;span style="color: #006080"&gt;&amp;quot;00&amp;quot;&lt;/span&gt; &amp;amp; &lt;span style="color: #0000ff"&gt;cstr&lt;/span&gt;(minute(time)),2) &amp;amp; right(&lt;span style="color: #006080"&gt;&amp;quot;00&amp;quot;&lt;/span&gt; &amp;amp; &lt;span style="color: #0000ff"&gt;cstr&lt;/span&gt;(second(time)),2)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; Build the full log file name&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
sOutFileName = &lt;span style="color: #006080"&gt;&amp;quot;C:\Temp\scan_log_&amp;quot;&lt;/span&gt; &amp;amp; sDate &amp;amp; &lt;span style="color: #006080"&gt;&amp;quot;.txt&amp;quot;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; Open the file with containing all of the computers to scan (name or IP address)&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #0000ff"&gt;Set&lt;/span&gt; objTextFile = objFSO.OpenTextFile (&lt;span style="color: #006080"&gt;&amp;quot;C:\Temp\machineList.txt&amp;quot;&lt;/span&gt;, ForReading)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; Create and open the file for logging&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #0000ff"&gt;Set&lt;/span&gt; objTextFile_Write = objFSO.OpenTextFile(sOutFileName, ForAppending, &lt;span style="color: #0000ff"&gt;True&lt;/span&gt;)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #008000"&gt;&amp;#39; Loop through the file containing machine names/IP addresses&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&lt;span style="color: #0000ff"&gt;Do&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Until&lt;/span&gt; objTextFile.AtEndOfStream
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #008000"&gt;&amp;#39; get the machine name from the current row of the file&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    sMachine = objTextFile.Readline
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #008000"&gt;&amp;#39; duh&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; Process, sResponse, sWriteMe
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #008000"&gt;&amp;#39; Default the test response&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    sResponse = &lt;span style="color: #006080"&gt;&amp;quot;No&amp;quot;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #008000"&gt;&amp;#39; duh&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #0000ff"&gt;ON&lt;/span&gt; &lt;span style="color: #0000ff"&gt;ERROR&lt;/span&gt; &lt;span style="color: #0000ff"&gt;RESUME&lt;/span&gt; &lt;span style="color: #0000ff"&gt;NEXT&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #008000"&gt;&amp;#39;   Ping the machine to make sure it is on the network&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #0000ff"&gt;Set&lt;/span&gt; WshShell = CreateObject(&lt;span style="color: #006080"&gt;&amp;quot;WScript.Shell&amp;quot;&lt;/span&gt;)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    bPing = &lt;span style="color: #0000ff"&gt;Not&lt;/span&gt; &lt;span style="color: #0000ff"&gt;CBool&lt;/span&gt;(WshShell.run(&lt;span style="color: #006080"&gt;&amp;quot;ping -n 1 &amp;quot;&lt;/span&gt; &amp;amp; sMachine, 0, &lt;span style="color: #0000ff"&gt;True&lt;/span&gt;))      
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #008000"&gt;&amp;#39; only check for the process if the machine is on the network&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #0000ff"&gt;If&lt;/span&gt; bPing = &lt;span style="color: #0000ff"&gt;True&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #0000ff"&gt;Set&lt;/span&gt; objWMI = GetObject(&lt;span style="color: #006080"&gt;&amp;quot;winmgmts:&amp;quot;&lt;/span&gt; &amp;amp; &lt;span style="color: #006080"&gt;&amp;quot;{impersonationLevel=impersonate}!\\&amp;quot;&lt;/span&gt; &amp;amp; strComputer &amp;amp; &lt;span style="color: #006080"&gt;&amp;quot;\root\cimv2&amp;quot;&lt;/span&gt;)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #0000ff"&gt;Set&lt;/span&gt; cProcList = objWMI.ExecQuery (&lt;span style="color: #006080"&gt;&amp;quot;Select * from Win32_Process Where Name = &amp;#39;&amp;quot;&lt;/span&gt; &amp;amp; sProcess &amp;amp; &lt;span style="color: #006080"&gt;&amp;quot;&amp;#39;&amp;quot;&lt;/span&gt;)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
  
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #008000"&gt;&amp;#39; if there are items in the collection ....&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #0000ff"&gt;If&lt;/span&gt; cProcList.Count &amp;gt; 0 &lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
            &lt;span style="color: #008000"&gt;&amp;#39; Found it!&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
            sResponse = &lt;span style="color: #006080"&gt;&amp;quot;Yes&amp;quot;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;If&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
   
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #0000ff"&gt;Else&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        &lt;span style="color: #008000"&gt;&amp;#39; Set the appropriate response&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        sResponse = &lt;span style="color: #006080"&gt;&amp;quot;Not on network&amp;quot;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;If&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #008000"&gt;&amp;#39; If there was an error ... Log it!    &lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #0000ff"&gt;If&lt;/span&gt; err.number &amp;gt; 0 &lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
        sResponse = err.Description
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;If&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    sWriteMe = sMachine &amp;amp; &lt;span style="color: #006080"&gt;&amp;quot;: &amp;quot;&lt;/span&gt; &amp;amp; &lt;span style="color: #006080"&gt;&amp;quot;Running &amp;quot;&lt;/span&gt; &amp;amp; sProcess &amp;amp; &lt;span style="color: #006080"&gt;&amp;quot; - &amp;quot;&lt;/span&gt; &amp;amp; sResponse
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    objTextFile_Write.WriteLine(sWriteMe)
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
    
&lt;/pre&gt;
&lt;pre style="line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: consolas, 'Courier New', courier, monospace; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px"&gt;
  Loop
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Thanks for listening 
&lt;/p&gt;
</description>
      <link>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/12/09/Check-Running-Processes-on-Remote-Computers-with-VBScript.aspx</link>
      <author>randy.nospam@nospam.fiesta25.com (randy)</author>
      <comments>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/12/09/Check-Running-Processes-on-Remote-Computers-with-VBScript.aspx#comment</comments>
      <guid>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=271327e6-07ad-4ca9-8d58-301e1b9b63e3</guid>
      <pubDate>Tue, 09 Dec 2008 14:09:00 -0700</pubDate>
      <category>Scripting</category>
      <dc:publisher>randy</dc:publisher>
      <pingback:server>http://cycogeek.fiesta25.com/blogs/cycogeek/pingback.axd</pingback:server>
      <pingback:target>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=271327e6-07ad-4ca9-8d58-301e1b9b63e3</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://cycogeek.fiesta25.com/blogs/cycogeek/trackback.axd?id=271327e6-07ad-4ca9-8d58-301e1b9b63e3</trackback:ping>
      <wfw:comment>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/12/09/Check-Running-Processes-on-Remote-Computers-with-VBScript.aspx#comment</wfw:comment>
      <wfw:commentRss>http://cycogeek.fiesta25.com/blogs/cycogeek/syndication.axd?post=271327e6-07ad-4ca9-8d58-301e1b9b63e3</wfw:commentRss>
    </item>
    <item>
      <title>Dynamic Column Names in SQL Server Reporting Services 2005</title>
      <description>&lt;p&gt;
I have been working on a SSRS report that produces financial data for a rolling 20 month period.&amp;nbsp; The SQL behind the report is pretty straight forward.&amp;nbsp; The challenge was dynamically setting each of the column names on the report to accurately reflect the month/year data presented by the SQL.
&lt;/p&gt;
&lt;p&gt;
This task is made a little simpler since the column names are derived from dates, making it possible to calculate the values of the column names.
&lt;/p&gt;
&lt;p&gt;
The other challenge with this process is that the report can be run for any specific date.&amp;nbsp; The obvious solution, and the one I used, is to pass a date parameter to a SQL stored procedure (You could have used straight SQL in SSRS and used the parameter as part of the WHERE clause &amp;ndash; I just prefer to use stored procedures).&amp;nbsp; The fun part of this getting SQL Server and SSRS to play nice together (I know this sounds obvious and should be straight forward.)
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;h3&gt;Steps&lt;/h3&gt;  
&lt;p&gt;
1. Create the stored procedure allowing for an input parameter to accept the date.
&lt;/p&gt;
&lt;div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; line-height: 12pt; background-color: #f4f4f4; width: 97.5%; font-family: consolas,'Courier New',courier,monospace; max-height: 400px; font-size: 8pt; cursor: text"&gt;
&lt;div style="border-style: none; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
&lt;span style="color: #0000ff"&gt;USE&lt;/span&gt; someDB
&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
&lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
&lt;span style="color: #0000ff"&gt;IF&lt;/span&gt; OBJECT_ID(&lt;span style="color: #006080"&gt;&amp;#39;someDB.dbo.uspSampleProc&amp;#39;&lt;/span&gt;) &lt;span style="color: #0000ff"&gt;IS&lt;/span&gt; &lt;span style="color: #0000ff"&gt;NOT&lt;/span&gt; &lt;span style="color: #0000ff"&gt;NULL&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
    &lt;span style="color: #0000ff"&gt;DROP&lt;/span&gt; &lt;span style="color: #0000ff"&gt;PROCEDURE&lt;/span&gt; uspSampleProc
&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
&lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
&lt;span style="color: #0000ff"&gt;CREATE&lt;/span&gt; &lt;span style="color: #0000ff"&gt;PROCEDURE&lt;/span&gt; [dbo].[uspSampleProc]
&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
    ( @BaseDate        DATETIME
&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
    )
&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
...
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
2. Create the report template in SSRS
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;a href="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/DynamicColumnNamesinSQLServerReportingSe_C1C8/image_2.png"&gt;&lt;img style="border-width: 0px; display: inline" src="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/DynamicColumnNamesinSQLServerReportingSe_C1C8/image_thumb.png" border="0" alt="image" title="image" width="644" height="126" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
3. Create the report parameter and associate with the SQL parameter. 
&lt;/p&gt;
&lt;p&gt;
To get there:
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Go to the &lt;em&gt;Data&lt;/em&gt; page for the report &lt;/li&gt;
	&lt;li&gt;Click the ellipse (&amp;ldquo;&amp;hellip;&amp;rdquo;) next to the Dataset Drop down&lt;a href="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/DynamicColumnNamesinSQLServerReportingSe_C1C8/image_8.png"&gt; 
	&lt;br /&gt;
	&lt;img style="border-width: 0px; display: inline" src="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/DynamicColumnNamesinSQLServerReportingSe_C1C8/image_thumb_3.png" border="0" alt="image" title="image" width="284" height="61" /&gt;&lt;/a&gt;&amp;nbsp; &lt;/li&gt;
	&lt;li&gt;Then select the Parameters tab in the Dataset dialog box &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;a href="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/DynamicColumnNamesinSQLServerReportingSe_C1C8/image_4.png"&gt;&lt;img style="border-width: 0px; display: inline" src="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/DynamicColumnNamesinSQLServerReportingSe_C1C8/image_thumb_1.png" border="0" alt="image" title="image" width="468" height="388" /&gt;&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
5. Edit the expression in the column heading text box(es) to reflect the rolling month/year indicated by the report data.
&lt;/p&gt;
&lt;div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; line-height: 12pt; background-color: #f4f4f4; width: 97.5%; font-family: consolas,'Courier New',courier,monospace; max-height: 200px; font-size: 8pt; cursor: text"&gt;
&lt;div style="border-style: none; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
=&lt;span style="color: #0000ff"&gt;RIGHT&lt;/span&gt;(&amp;quot;0&amp;quot; &amp;amp; CSTR(&lt;span style="color: #0000ff"&gt;Month&lt;/span&gt;(DateAdd(&amp;quot;M&amp;quot;, 1,&lt;span style="color: #0000ff"&gt;Parameters&lt;/span&gt;!BaseDate.&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;))),2) &amp;amp; &amp;quot;-&amp;quot; &amp;amp; &lt;span style="color: #0000ff"&gt;YEAR&lt;/span&gt;(DateAdd(&amp;quot;M&amp;quot;, 1, &lt;span style="color: #0000ff"&gt;Parameters&lt;/span&gt;!BaseDate.&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;))
&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt"&gt;
&amp;nbsp;
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4&gt;&lt;u&gt;What&amp;rsquo;s going on here?&lt;/u&gt;&lt;/h4&gt;
&lt;p&gt;
The above example would be used in the second column header label on the report.
&lt;/p&gt;
&lt;p&gt;
Using the report date parameter as the base, it is possible to calculate the text value for the column headers.
&lt;/p&gt;
&lt;p&gt;
The column name will show the month and the year that the column represents. EX: 01-2008
&lt;/p&gt;
&lt;p&gt;
To ensure that the month and year displayed are in synch with the rolling monthly data, two separate string functions are combined to form the final text.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&lt;font color="#800000"&gt;The &amp;ldquo;Month&amp;rdquo; part&lt;/font&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
The first string function determines the month indicator.&amp;nbsp; For this report, the month indicator needs to show with two characters.&amp;nbsp; As the &amp;ldquo;Month&amp;rdquo; function in SSRS does not do this for us, it is necessary to add a leading &amp;ldquo;0&amp;rdquo; to the numeric identifier for months January through September.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
To do this:
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Append a &amp;ldquo;0&amp;rdquo; to the left side of the numeric value that represents the month. &lt;/li&gt;
	&lt;li&gt;Use the &amp;ldquo;Right&amp;rdquo; string function to pull the two right most characters from the string. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
The second part of this string function determines the appropriate month to report.&amp;nbsp; This is done using the &amp;ldquo;DateAdd&amp;rdquo; function.&amp;nbsp; This function allows you to add or subtract from a date value to get anther date (more info on the DateAdd function here: &lt;a href="http://msdn.microsoft.com/en-us/library/aa337194(SQL.90).aspx" target="_blank"&gt;MSDN SSRS DateAdd Function&lt;/a&gt;).&amp;nbsp; The example shows that the &lt;em&gt;BaseDate&lt;/em&gt; report parameter will be incremented by one month.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&lt;font color="#800000"&gt;The &amp;ldquo;Year&amp;rdquo; Part&lt;/font&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
This string function determines the year that corresponds to the rolling month value.&amp;nbsp; It utilizes the same &amp;ldquo;DateAdd&amp;rdquo; functionality as the &amp;ldquo;Month&amp;rdquo; string function.&amp;nbsp; The only difference is that the year is extracted from the new date value using the &amp;ldquo;Year&amp;rdquo; function.
&lt;/p&gt;
&lt;blockquote&gt;
	&lt;p&gt;
	HEY!&amp;nbsp; This expression will need to be applied to each column.&amp;nbsp; Each implementation of this expression will need to be updated to correlate to the appropriate rolling month.&amp;nbsp; Meaning: The &lt;em&gt;units&lt;/em&gt; parameter of the &lt;em&gt;DateAdd&lt;/em&gt; function will need to be updated to reflect the correct value. For Example, The third column header on the report, you would enter &amp;ldquo;3&amp;rdquo; for the &lt;em&gt;units&lt;/em&gt; parameter of the &lt;em&gt;DateAdd&lt;/em&gt;.
	&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;Done!&lt;/h3&gt;
&lt;p&gt;
&lt;a href="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/DynamicColumnNamesinSQLServerReportingSe_C1C8/image_10.png"&gt;&lt;img style="border-width: 0px; display: inline" src="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/DynamicColumnNamesinSQLServerReportingSe_C1C8/image_thumb_4.png" border="0" alt="image" title="image" width="644" height="84" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Thanks for listening.
&lt;/p&gt;
</description>
      <link>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/12/04/Dynamic-Column-Names-in-SQL-Server-Reporting-Services-2005.aspx</link>
      <author>randy.nospam@nospam.fiesta25.com (randy)</author>
      <comments>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/12/04/Dynamic-Column-Names-in-SQL-Server-Reporting-Services-2005.aspx#comment</comments>
      <guid>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=35132c54-8eda-4eea-a582-6b68c7ea693b</guid>
      <pubDate>Thu, 04 Dec 2008 11:57:00 -0700</pubDate>
      <category>SSRS</category>
      <dc:publisher>randy</dc:publisher>
      <pingback:server>http://cycogeek.fiesta25.com/blogs/cycogeek/pingback.axd</pingback:server>
      <pingback:target>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=35132c54-8eda-4eea-a582-6b68c7ea693b</pingback:target>
      <slash:comments>19</slash:comments>
      <trackback:ping>http://cycogeek.fiesta25.com/blogs/cycogeek/trackback.axd?id=35132c54-8eda-4eea-a582-6b68c7ea693b</trackback:ping>
      <wfw:comment>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/12/04/Dynamic-Column-Names-in-SQL-Server-Reporting-Services-2005.aspx#comment</wfw:comment>
      <wfw:commentRss>http://cycogeek.fiesta25.com/blogs/cycogeek/syndication.axd?post=35132c54-8eda-4eea-a582-6b68c7ea693b</wfw:commentRss>
    </item>
    <item>
      <title>Citrix in MOSS 2007 Without WISP 2007</title>
      <description>&lt;p&gt;
I have been working on a solution for my current client that would allow the uses to access the Citrix web interface through their SharePoint home page.
&lt;/p&gt;
&lt;p&gt;
There are a few ways to do this:
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Add a link to the SP home page that opens up the Citrix Web Portal &lt;/li&gt;
	&lt;li&gt;Add a Page Viewer web part to the SP page, opening the Citrix Web Portal &lt;/li&gt;
	&lt;li&gt;Install Citrix Web Interface for SharePoint 2007 (WISP 2007), and utilize the supplies Citrix specific web parts &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Each of these solutions has it&amp;rsquo;s pros and cons.
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Adding a link to the home page is quick and easy, but not the most elegant way of doing things. &lt;/li&gt;
	&lt;li&gt;Adding the Page Viewer web part to the front page offers a more intuitive solution.&amp;nbsp; This provides the users with an obvious place to login to the Citrix server and will also present their available applications in a familiar environment. &lt;/li&gt;
	&lt;li&gt;The most robust solution is to install WISP 2007.&amp;nbsp; This solution provides an integrated solution to presenting the user with their Citrix application options.&amp;nbsp; This tool integrates Single Sign On, SharePoint and core Citrix functionality very nicely. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
My client opted for solution #2: Add a Page Viewer web part to the home page.
&lt;/p&gt;
&lt;p&gt;
To do this:
&lt;/p&gt;
&lt;p&gt;
1. Add a Page Viewer web part to the page&lt;a href="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/CitrixinMOSS2007WithoutWISP2007_8EBF/image_2.png"&gt;&lt;img style="display: inline; border-width: 0px" src="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/CitrixinMOSS2007WithoutWISP2007_8EBF/image_thumb.png" border="0" alt="Add the Web Part" title="Add the Web Part" width="671" height="478" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
2. Edit the web part properties to add the URL for the Citrix Web Portal
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/CitrixinMOSS2007WithoutWISP2007_8EBF/image_4.png"&gt;&lt;img style="display: inline; border-width: 0px" src="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/CitrixinMOSS2007WithoutWISP2007_8EBF/image_thumb_1.png" border="0" alt="Update the URL" title="Update the URL" width="290" height="459" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;blockquote&gt;
	&lt;p&gt;
	HEY! In order for the Citrix Web Portal to function properly, the full domain will need to be added as a trusted domain on the client.
	&lt;/p&gt;
	&lt;p&gt;
	&amp;nbsp;&lt;a href="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/CitrixinMOSS2007WithoutWISP2007_8EBF/image_6.png"&gt;&lt;img style="display: inline; border-width: 0px" src="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/CitrixinMOSS2007WithoutWISP2007_8EBF/image_thumb_2.png" border="0" alt="Add site as trusted" title="Add site as trusted" width="604" height="177" /&gt;&lt;/a&gt; 
	&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
3. After the domain is trusted by the client, the users will be presented with the familiar login interface of the Citrix Web Portal
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/CitrixinMOSS2007WithoutWISP2007_8EBF/image_10.png"&gt;&lt;img style="display: inline; border-width: 0px" src="http://cycogeek.fiesta25.com/blogs/cycogeek/image.axd?picture=WindowsLiveWriter/CitrixinMOSS2007WithoutWISP2007_8EBF/image_thumb_4.png" border="0" alt="Citrix Login Screen" title="Citrix Login Screen" width="644" height="410" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Thanks for listening.
&lt;/p&gt;
</description>
      <link>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/11/18/Citrix-in-MOSS-2007-Without-WISP-2007.aspx</link>
      <author>randy.nospam@nospam.fiesta25.com (randy)</author>
      <comments>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/11/18/Citrix-in-MOSS-2007-Without-WISP-2007.aspx#comment</comments>
      <guid>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=ac67e1fa-6b1a-46b8-81f4-db33c3928b0a</guid>
      <pubDate>Tue, 18 Nov 2008 10:09:00 -0700</pubDate>
      <category>SharePoint</category>
      <category>Citrix</category>
      <dc:publisher>randy</dc:publisher>
      <pingback:server>http://cycogeek.fiesta25.com/blogs/cycogeek/pingback.axd</pingback:server>
      <pingback:target>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=ac67e1fa-6b1a-46b8-81f4-db33c3928b0a</pingback:target>
      <slash:comments>9</slash:comments>
      <trackback:ping>http://cycogeek.fiesta25.com/blogs/cycogeek/trackback.axd?id=ac67e1fa-6b1a-46b8-81f4-db33c3928b0a</trackback:ping>
      <wfw:comment>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/11/18/Citrix-in-MOSS-2007-Without-WISP-2007.aspx#comment</wfw:comment>
      <wfw:commentRss>http://cycogeek.fiesta25.com/blogs/cycogeek/syndication.axd?post=ac67e1fa-6b1a-46b8-81f4-db33c3928b0a</wfw:commentRss>
    </item>
    <item>
      <title>A Great Link for ALL Programmers!</title>
      <description>&lt;p&gt;I know ... Two posts in a row with links.&amp;nbsp; Lame.&amp;nbsp; I know.&amp;nbsp; BUT -- This is a great article.&lt;/p&gt; &lt;p&gt;If you are or are planning to be a programmer - you MUST read this article by over at &lt;a href="http://www.codingthewheel.com/"&gt;Coding The Wheel&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.codingthewheel.com/archives/programming-aphorisms-of-strunk-and-white"&gt;The Programming Aphorisms of Strunk and White&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Enjoy!&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Thanks for listening.&lt;/p&gt;</description>
      <link>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/10/16/A-Great-Link-for-ALL-Programmers!.aspx</link>
      <author>randy.nospam@nospam.fiesta25.com (oodnar)</author>
      <comments>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/10/16/A-Great-Link-for-ALL-Programmers!.aspx#comment</comments>
      <guid>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=e7033823-418a-477d-b669-4f48a9186eb5</guid>
      <pubDate>Thu, 16 Oct 2008 08:07:25 -0700</pubDate>
      <dc:publisher>oodnar</dc:publisher>
      <pingback:server>http://cycogeek.fiesta25.com/blogs/cycogeek/pingback.axd</pingback:server>
      <pingback:target>http://cycogeek.fiesta25.com/blogs/cycogeek/post.aspx?id=e7033823-418a-477d-b669-4f48a9186eb5</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://cycogeek.fiesta25.com/blogs/cycogeek/trackback.axd?id=e7033823-418a-477d-b669-4f48a9186eb5</trackback:ping>
      <wfw:comment>http://cycogeek.fiesta25.com/blogs/cycogeek/post/2008/10/16/A-Great-Link-for-ALL-Programmers!.aspx#comment</wfw:comment>
      <wfw:commentRss>http://cycogeek.fiesta25.com/blogs/cycogeek/syndication.axd?post=e7033823-418a-477d-b669-4f48a9186eb5</wfw:commentRss>
    </item>
  </channel>
</rss>
