<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Peter Schneider</title><subtitle type="html">&lt;br /&gt;MCT, MCSD.NET, MCAD.NET, MCDBA</subtitle><id>http://weblogs.asp.net/pschneider/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/pschneider/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2006-11-22T19:06:49Z</updated><entry><title>Switch Right Windows and Right Alt Key</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2008/03/13/switch-right-windows-and-right-alt-key.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2008/03/13/switch-right-windows-and-right-alt-key.aspx</id><published>2008-03-13T12:42:00Z</published><updated>2008-03-13T12:42:00Z</updated><content type="html">&lt;P&gt;I've just bought a Apple Keyboard (USB) and wanted to switch the key mapping of the right windows and right alt key..&lt;/P&gt;
&lt;P&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] &lt;BR&gt;"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,5c,e0,38,e0,38,e0,5c,e0,\ &lt;BR&gt;&amp;nbsp; 00,00,00,00&lt;/P&gt;
&lt;P&gt;To swap both the left and the right Windows and Alt Key use:&lt;/P&gt;
&lt;P&gt;Windows Registry Editor Version 5.00&lt;/P&gt;
&lt;P&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]&lt;BR&gt;"Scancode Map"=hex:00,00,00,00,00,00,00,00,07,00,00,00,37,e0,64,00,5b,e0,38,00,\&lt;BR&gt;&amp;nbsp; 38,00,5b,e0,5c,e0,38,e0,38,e0,5c,e0,47,e0,63,e0,00,00,00,00&lt;/P&gt;
&lt;P&gt;Reboot or log off afterwards.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5960436" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="Tipps &amp;amp; Tricks" scheme="http://weblogs.asp.net/pschneider/archive/tags/Tipps+_2600_amp_3B00_+Tricks/default.aspx" /></entry><entry><title>Brainfuck Compiler and Interpreter in Powershell</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2007/04/08/brainf-compiler-and-interpreter-in-powershell.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="1195" href="http://weblogs.asp.net/pschneider/attachment/2195523.ashx" /><id>http://weblogs.asp.net/pschneider/archive/2007/04/08/brainf-compiler-and-interpreter-in-powershell.aspx</id><published>2007-04-08T09:23:00Z</published><updated>2007-04-08T09:23:00Z</updated><content type="html">&lt;p&gt;Surley some of you know the Brainfuck programming language... there are many compilers and interpreters around, yet I haven&amp;#39;t found some for powershell... so here we go:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Powershell Brainfuck Interpreter:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Courier New" size="1"&gt;param ($i) &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Courier New" size="1"&gt;$t = @{ &amp;#39;&amp;gt;&amp;#39;=&amp;#39;$p++;&amp;#39;;&lt;br /&gt;&amp;#39;&amp;lt;&amp;#39;=&amp;#39;$p--;&amp;#39;;&lt;br /&gt;&amp;#39;+&amp;#39;=&amp;#39;$m[$p]++&amp;#39;;&lt;br /&gt;&amp;#39;-&amp;#39;=&amp;#39;$m[$p]--&amp;#39;;&lt;br /&gt;&amp;#39;.&amp;#39;=&amp;#39;write-host $([char]$m[$p]) -n &amp;#39;;&lt;br /&gt;&amp;#39;,&amp;#39;=&amp;#39;$m[$p]=$host.ui.ReadLine() &amp;#39;;&lt;br /&gt;&amp;#39;[&amp;#39;=&amp;#39;while ($m[$p] -ne 0) {&amp;#39;;&lt;br /&gt;&amp;#39;]&amp;#39;=&amp;#39;}&amp;#39;;&lt;br /&gt;} &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Courier New" size="1"&gt;$c = &amp;#39;$p=0;$m=new-object &amp;quot;byte[]&amp;quot; 32768&amp;#39;+&amp;quot;`n&amp;quot; ;&amp;nbsp;gc $i -Enc Byte -r 1 | % {$c+=$t[&amp;quot;$([char]$_)&amp;quot;]+&amp;quot;`n&amp;quot;} &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Courier New" size="1"&gt;invoke-expression $c &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Powershell Brainfuck Compiler:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;font face="Courier New" size="1"&gt;param ( [string] $infile = $(throw &amp;quot;Please specify input file (.b)&amp;quot;),&lt;br /&gt;[string] $outfile = $(throw &amp;quot;Please specify output file (.cs)&amp;quot;),&lt;br /&gt;[switch] $run = $false&lt;br /&gt;) &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Courier New" size="1"&gt;$csc = (join-path ($env:windir) Microsoft.NET\Framework\v2.0.50727\csc.exe) &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Courier New" size="1"&gt;$transpose = @{&amp;#39;&amp;gt;&amp;#39; = &amp;#39;p++;&amp;#39;;&lt;br /&gt;&amp;#39;&amp;lt;&amp;#39; = &amp;#39;p--;&amp;#39;;&lt;br /&gt;&amp;#39;+&amp;#39; = &amp;#39;m[p]++;&amp;#39;;&lt;br /&gt;&amp;#39;-&amp;#39; = &amp;#39;m[p]--;&amp;#39;;&lt;br /&gt;&amp;#39;.&amp;#39; = &amp;#39;Console.Write(m[p]);&amp;#39;;&lt;br /&gt;&amp;#39;,&amp;#39; = &amp;#39;m[p]=Console.ReadLine();&amp;#39;;&lt;br /&gt;&amp;#39;[&amp;#39; = &amp;quot;while (m[p]!=0) {&amp;quot;&lt;br /&gt;&amp;#39;]&amp;#39; = &amp;#39;}&amp;#39;;&lt;br /&gt;} &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Courier New" size="1"&gt;$header = @&amp;quot;&lt;br /&gt;using System;&lt;br /&gt;public class Program {&lt;br /&gt;public static void Main() {&lt;br /&gt;int p=0;&lt;br /&gt;char[] m=new char[32768];&lt;br /&gt;&amp;quot;@ &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Courier New" size="1"&gt;if ($(test-path $outfile)) { rm $outfile | out-null }&lt;br /&gt;$header | out-file $outfile -append &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Courier New" size="1"&gt;get-content $infile -encoding Byte -readcount 1 | &lt;br /&gt;% { $transpose[&amp;quot;$([char]$_)&amp;quot;] } | out-file $outfile -append &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Courier New" size="1"&gt;&amp;quot;}}&amp;quot; | out-file $outfile -append &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Courier New" size="1"&gt;&amp;amp; $csc `/target:exe $outfile | out-null &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Courier New" size="1"&gt;if ($run) { &lt;br /&gt;$outfile = $outfile.Replace(&amp;quot;.cs&amp;quot;,&amp;quot;.exe&amp;quot;)&lt;br /&gt;&amp;amp; .`/$outfile &lt;br /&gt;}&lt;/font&gt; &lt;/p&gt;&lt;p&gt;You can find the both script files (compiler and interpreter) in the attachment of this post.&lt;/p&gt;&lt;p&gt;Have fun!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=2195523" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="C#" scheme="http://weblogs.asp.net/pschneider/archive/tags/C_2300_/default.aspx" /><category term="Powershell" scheme="http://weblogs.asp.net/pschneider/archive/tags/Powershell/default.aspx" /></entry><entry><title>MVP Podcast auf Microsoft Podcast Network Austria</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2007/01/29/mvp-podcast-auf-microsoft-podcast-network-austria.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2007/01/29/mvp-podcast-auf-microsoft-podcast-network-austria.aspx</id><published>2007-01-29T13:58:48Z</published><updated>2007-01-29T13:58:48Z</updated><content type="html">&lt;p&gt;MVPs sind Experten, die sich in der Microsoft Community engagieren. Erfahren Sie im Gespräch mit 3 MVPs und dem MVP Betreuer von Microsoft, was einen guten MVP ausmacht, wie man MVP wird und Vieles mehr! Erfahren Sie mehr im Interview auf &lt;a href="http://blogs.msdn.com/talk/archive/2007/01/29/MVPs.aspx"&gt;MSDN Talk&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=1491176" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="Podcast" scheme="http://weblogs.asp.net/pschneider/archive/tags/Podcast/default.aspx" /></entry><entry><title>Get-DocProps Cmdlet for Powershell</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2006/12/10/get-docprops-cmdlet-for-powershell.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2006/12/10/get-docprops-cmdlet-for-powershell.aspx</id><published>2006-12-10T13:08:00Z</published><updated>2006-12-10T13:08:00Z</updated><content type="html">&lt;p&gt;I&amp;#39;ve written a small and rather simple powershell cmdlet which allows you to list the core and application properties of office documents, so that you can do something like this: &lt;/p&gt;&lt;p&gt;Samples: &lt;/p&gt;&lt;p&gt;&lt;span style="font-family: Courier New"&gt;Get-DocProps &amp;ndash;path &amp;quot;*.docx&amp;quot; | where { $_.Creator &amp;ndash;eq &amp;quot;John Doe&amp;quot; } &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: Courier New"&gt;Get-ChildItem &amp;quot;*.docx&amp;quot; | get-docprops | where { $_.Lines &amp;ndash;gt 100 } | select Path,Lines &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: Courier New"&gt;Get-ChildItem * -include &amp;quot;*.docx&amp;quot;,&amp;quot;*.xlsx&amp;quot; &amp;ndash;recurse | get-docprops | select Path, Creator, Lines, Paragraphs &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: Courier New"&gt;Get-ChildItem * -include &amp;quot;*.docx&amp;quot; &amp;ndash;recurse | get-docprops | measure-object Words,Lines,Paragraphs &amp;ndash;sum &amp;ndash;min &amp;ndash;max -ave &lt;/span&gt;&lt;/p&gt;&lt;p&gt;The Cmdlet itself reads the &lt;strong&gt;docProps/app.xml&lt;/strong&gt; and &lt;strong&gt;docProps/core.xml&lt;/strong&gt; files inside Office 2007 documents using the &lt;strong&gt;System.IO.Packaging&lt;/strong&gt; namespace, so therefore install &lt;strong&gt;.NET Framework 3.0 &lt;/strong&gt;to use this cmdlet. &lt;/p&gt;&lt;p&gt;You can download the &lt;a href="http://www.ugwa.net/GetDocPropsCmdlet/GetDocPropsCmdletSetup.msi"&gt;DocProps Cmdlet here&lt;/a&gt;. (No warranty, provided &amp;quot;AS IS&amp;quot;, use at your own risk ;-)) If you are interested in the source code just drop me a mail. &lt;/p&gt;&lt;p&gt;After installation just run &lt;/p&gt;&lt;p&gt;&lt;span style="font-family: Courier New"&gt;add-pssnapin DocProps.Snapin&lt;/span&gt; &lt;/p&gt;&lt;p&gt;at your powershell command prompt and enjoy. &lt;/p&gt;&lt;p&gt;&lt;img height="353" src="http://www.ugwa.net/Images/121006_1308_GetDocProps1.png" width="458" /&gt; &lt;/p&gt;&lt;p&gt;Here is a list of the core properties: &lt;/p&gt;&lt;div&gt;&lt;table border="0" style="border-collapse: collapse"&gt;&lt;colgroup span="1"&gt;&lt;col span="1" style="width: 109px"&gt;&lt;/col&gt;&lt;col span="1" style="width: 71px"&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr style="background: black"&gt;&lt;td style="padding-right: 7px; border-top: black 1pt solid; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;span style="color: white"&gt;&lt;strong&gt;Property Name&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: black 1pt solid; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;span style="color: white"&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Category&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Created&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;DateTime&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Creator&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Keywords&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Language&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;LastModifiedBy&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;LastPrinted&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;DateTime&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Modified&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;DateTime&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Revision&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Subject&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Title&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Version&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Word Documents additionally have following properties: &lt;/p&gt;&lt;div&gt;&lt;table border="0" style="border-collapse: collapse"&gt;&lt;colgroup span="1"&gt;&lt;col span="1" style="width: 150px"&gt;&lt;/col&gt;&lt;col span="1" style="width: 62px"&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr style="background: black"&gt;&lt;td style="padding-right: 7px; border-top: black 1pt solid; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;span style="color: white"&gt;&lt;strong&gt;Property Name&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: black 1pt solid; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;span style="color: white"&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Template&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;TotalTime&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Pages&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;Int32&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Words&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;Int32&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Characters&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;Int32&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Application&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;DocSecurity&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Lines&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;Int32&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Paragraphs&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;Int32&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;ScaleCrop&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;Company&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;LinksUpToDate&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;Boolean&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;CharactersWithSpaces&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;Int32&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;SharedDoc&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;Boolean&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;HyperlinksChanged&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; border-top: medium none; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;Boolean&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-right: 7px; padding-left: 7px; padding-bottom: 1px; border-left: black 1pt solid; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;&lt;strong&gt;AppVersion&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 7px; padding-left: 7px; padding-bottom: 1px; padding-top: 1px; border-bottom: black 1pt solid" valign="middle"&gt;&lt;p&gt;String&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;I also run into some implementation, which uses &lt;a href="http://www.codeproject.com/useritems/wdscmdlet.asp"&gt;Windows Search&lt;/a&gt; to filter for properties. &lt;/p&gt;&lt;p&gt;For several more cmdlets visit the &lt;a href="http://www.codeplex.com/PowerShellCX"&gt;Powershell Community Extensions Project&lt;/a&gt; at Codeplex. &lt;/p&gt;&lt;p&gt;Right at the moment there&amp;#39;s just a get-docprop cmdlet included in the setup, the &lt;strong&gt;set-docprop&lt;/strong&gt; will follow in a few days, so come back again ;-)&lt;br /&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=1205669" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="C#" scheme="http://weblogs.asp.net/pschneider/archive/tags/C_2300_/default.aspx" /><category term="Powershell" scheme="http://weblogs.asp.net/pschneider/archive/tags/Powershell/default.aspx" /><category term="General Software Development" scheme="http://weblogs.asp.net/pschneider/archive/tags/General+Software+Development/default.aspx" /></entry><entry><title>Ribbon Callback Signatures</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2006/11/28/ribbon-callback-signatures.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2006/11/28/ribbon-callback-signatures.aspx</id><published>2006-11-28T21:08:46Z</published><updated>2006-11-28T21:08:46Z</updated><content type="html">&lt;p&gt;If you develop your custom ribbon interface and actually need to implement an action handler Ken Getz has published a &lt;a href="http://msdn2.microsoft.com/en-us/library/aa722523.aspx"&gt;Ribbon User Interface for Developers FAQ&lt;/a&gt;, which describes the callback signatures for each ribbon control.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=1069147" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="Ribbon" scheme="http://weblogs.asp.net/pschneider/archive/tags/Ribbon/default.aspx" /></entry><entry><title>Sharepoint ListTemplateId</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/pschneider/archive/2006/11/22/sharepoint-listtemplateid.aspx" /><id>http://weblogs.asp.net/pschneider/archive/2006/11/22/sharepoint-listtemplateid.aspx</id><published>2006-11-23T00:06:49Z</published><updated>2006-11-23T00:06:49Z</updated><content type="html">&lt;p&gt;If you want to add a Event Handler Assembly to a specific list in Sharepoint with a Feature you have to pass a ListTemplateId. 
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New"&gt;&amp;lt;Elements xmlns="http://schemas.microsoft.com/sharepoint/"&amp;gt;&lt;br/&gt;  &amp;lt;Receivers ListTemplateId="104"&amp;gt;&lt;br/&gt;    &amp;lt;Receiver&amp;gt;&lt;br/&gt;      &amp;lt;Name&amp;gt;EventHandler Delete&amp;lt;/Name&amp;gt;&lt;br/&gt;      &amp;lt;Type&amp;gt;ItemDeleting&amp;lt;/Type&amp;gt;&lt;br/&gt;…&lt;br/&gt;&lt;/span&gt;&lt;br/&gt;Here's a little codesnippet to get those ListTemplateIds, just add a Reference to Microsoft.Sharepoint.dll.&lt;span style="font-family:Courier New"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New"&gt;string[] typeNames  = System.Enum.GetNames(typeof(SPListTemplateType));&lt;br/&gt;Array    typeValues = System.Enum.GetValues(typeof(SPListTemplateType));&lt;br/&gt;&lt;br/&gt;int j = 0;&lt;br/&gt;&lt;br/&gt;foreach (int i in typeValues)&lt;br/&gt;{&lt;br/&gt;   Console.WriteLine(typeNames[j++].ToString() + " " + i.ToString ());&lt;br/&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New"&gt;&lt;br/&gt;&lt;/span&gt;The output of the codesnippet above should look something like this:&lt;br/&gt;&lt;br/&gt;GenericList 100&lt;br/&gt;DocumentLibrary 101&lt;br/&gt;Survey 102&lt;br/&gt;Links 103&lt;br/&gt;Announcements 104&lt;br/&gt;Contacts 105&lt;br/&gt;Events 106&lt;br/&gt;Tasks 107&lt;br/&gt;DiscussionBoard 108&lt;br/&gt;PictureLibrary 109&lt;br/&gt;…&lt;br/&gt;
	&lt;/p&gt;&lt;p&gt;Actually these ListTemplateIds (Types) are part of the ListTemplate definitions you can find in ONET.XML
&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=1001565" width="1" height="1"&gt;</content><author><name>pschneider</name><uri>http://weblogs.asp.net/members/pschneider.aspx</uri></author><category term="Sharepoint" scheme="http://weblogs.asp.net/pschneider/archive/tags/Sharepoint/default.aspx" /></entry></feed>