<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>PowerShell Community Extensions</title><link>http://pscx.codeplex.com/Project/ProjectRss.aspx</link><description>PowerShell Community Extensions &amp;#40;PSCX&amp;#41; is aimed at providing a widely useful set of additional cmdlets, providers, aliases, filters, functions and scripts for Windows PowerShell that members of the...</description><item><title>Source code checked in, #61694</title><link>http://pscx.codeplex.com/SourceControl/changeset/view/61694</link><description>Internationalize the CD module.</description><author>r_keith_hill</author><pubDate>Sun, 22 Nov 2009 05:32:36 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61694 20091122053236A</guid></item><item><title>Closed Issue: set-locationex cannot change drive to GAC: [25387]</title><link>http://pscx.codeplex.com/WorkItem/View.aspx?WorkItemId=25387</link><description>Something up with the set-locationex function&amp;#58;&lt;br /&gt;&lt;br /&gt;PS C&amp;#58;&amp;#92;&amp;#62; cd GAC&amp;#58;&amp;#92;&lt;br /&gt;C&amp;#58;&amp;#92;&lt;br /&gt;PS C&amp;#58;&amp;#92;&amp;#62; Set-Location gac&amp;#58;&lt;br /&gt;PS Gac&amp;#58;&amp;#92;&amp;#62; get-alias cd&lt;br /&gt;&lt;br /&gt;CommandType     Name                                                Definition&lt;br /&gt;-----------     ----                                                ----------&lt;br /&gt;Alias           cd                                                  Set-LocationEx&lt;br /&gt;&lt;br /&gt;cd gac&amp;#58; and cd gac&amp;#58;&amp;#92; both fail silently.&lt;br /&gt;</description><author>r_keith_hill</author><pubDate>Sun, 22 Nov 2009 04:57:18 GMT</pubDate><guid isPermaLink="false">Closed Issue: set-locationex cannot change drive to GAC: [25387] 20091122045718A</guid></item><item><title>Source code checked in, #61693</title><link>http://pscx.codeplex.com/SourceControl/changeset/view/61693</link><description>Fixed problem with CD module that Oisin reported - thanks man&amp;#33;</description><author>r_keith_hill</author><pubDate>Sun, 22 Nov 2009 04:57:18 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61693 20091122045718A</guid></item><item><title>Created Issue: set-locationex cannot change drive to GAC: [25387]</title><link>http://pscx.codeplex.com/WorkItem/View.aspx?WorkItemId=25387</link><description>Something up with the set-locationex function&amp;#58;&lt;br /&gt;&lt;br /&gt;PS C&amp;#58;&amp;#92;&amp;#62; cd GAC&amp;#58;&amp;#92;&lt;br /&gt;C&amp;#58;&amp;#92;&lt;br /&gt;PS C&amp;#58;&amp;#92;&amp;#62; Set-Location gac&amp;#58;&lt;br /&gt;PS Gac&amp;#58;&amp;#92;&amp;#62; get-alias cd&lt;br /&gt;&lt;br /&gt;CommandType     Name                                                Definition&lt;br /&gt;-----------     ----                                                ----------&lt;br /&gt;Alias           cd                                                  Set-LocationEx&lt;br /&gt;&lt;br /&gt;cd gac&amp;#58; and cd gac&amp;#58;&amp;#92; both fail silently.&lt;br /&gt;</description><author>oisin</author><pubDate>Wed, 18 Nov 2009 15:14:35 GMT</pubDate><guid isPermaLink="false">Created Issue: set-locationex cannot change drive to GAC: [25387] 20091118031435P</guid></item><item><title>Source code checked in, #61419</title><link>http://pscx.codeplex.com/SourceControl/changeset/view/61419</link><description>Got rid of a couple of unnecessary aliases.</description><author>r_keith_hill</author><pubDate>Mon, 16 Nov 2009 06:28:57 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61419 20091116062857A</guid></item><item><title>Source code checked in, #61418</title><link>http://pscx.codeplex.com/SourceControl/changeset/view/61418</link><description>Moved Select-Random to Deprecated module and redirects it to PowerShell&amp;#39;s built-in Get-Random cmdlet which chooses an random element from a collection passed to it.</description><author>r_keith_hill</author><pubDate>Mon, 16 Nov 2009 06:26:09 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61418 20091116062609A</guid></item><item><title>Source code checked in, #61417</title><link>http://pscx.codeplex.com/SourceControl/changeset/view/61417</link><description>Fixed problem with Set-Writable&amp;#47;ReadOnly - need to error on directories.</description><author>r_keith_hill</author><pubDate>Mon, 16 Nov 2009 06:00:39 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61417 20091116060039A</guid></item><item><title>Source code checked in, #61415</title><link>http://pscx.codeplex.com/SourceControl/changeset/view/61415</link><description>Migrated Invoke-BatchFile script to an adv function.   Also nuked various &amp;#42;-History cmdlets - not much value there.</description><author>r_keith_hill</author><pubDate>Mon, 16 Nov 2009 05:31:05 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61415 20091116053105A</guid></item><item><title>Source code checked in, #61413</title><link>http://pscx.codeplex.com/SourceControl/changeset/view/61413</link><description>Converted Set-ReadOnly to adv function.</description><author>r_keith_hill</author><pubDate>Mon, 16 Nov 2009 04:53:09 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61413 20091116045309A</guid></item><item><title>Source code checked in, #61400</title><link>http://pscx.codeplex.com/SourceControl/changeset/view/61400</link><description>Converted Set-Writable to adv function.</description><author>r_keith_hill</author><pubDate>Sun, 15 Nov 2009 20:10:23 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61400 20091115081023P</guid></item><item><title>Source code checked in, #61399</title><link>http://pscx.codeplex.com/SourceControl/changeset/view/61399</link><description>Use pscmdlet.WriteDebug instead of Write-Debug.</description><author>r_keith_hill</author><pubDate>Sun, 15 Nov 2009 20:10:05 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61399 20091115081005P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://pscx.codeplex.com/documentation?version=2</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Documentation&lt;/h1&gt;
This is pretty sparse right now; we apologize. A work in progress!&lt;br /&gt;
&lt;h2&gt;PowerShell Community Extensions &lt;/h2&gt;&lt;ul&gt;&lt;li&gt;For PowerShell 1.0, 2.0
&lt;ul&gt;&lt;li&gt;Pscx 1.0&lt;/li&gt;
&lt;li&gt;Pscx 1.1&lt;/li&gt;
&lt;li&gt;Pscx 1.2 (latest stable version)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;For PowerShell 2.0 Only
&lt;ul&gt;&lt;li&gt;Pscx 2.0 (beta; source only)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;For Developers&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms714674(VS.85).aspx" class="externalLink"&gt;Windows PowerShell Programmer's Guide (msdn)&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://Windows PowerShell SDK (msdn)" class="externalLink"&gt;http://msdn.microsoft.com/en-us/library/ms714469VS.85).aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://pscx.codeplex.com/wikipage?title=PSCX%20Developer%27s%20Guide&amp;referringTitle=Documentation"&gt;PSCX Developer&amp;#39;s Guide&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>oisin</author><pubDate>Sun, 15 Nov 2009 00:13:02 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20091115121302A</guid></item><item><title>Updated Wiki: PSCX Developer's Guide</title><link>http://pscx.codeplex.com/wikipage?title=PSCX Developer's Guide&amp;version=36</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;PSCX Developer's Guide&lt;/h1&gt;
&lt;h2&gt;PowerShell Integration&lt;/h2&gt;The goal is to provide the PSCX user with a snapin that looks and feels like PowerShell cmdlets. We also want to avoid polluting the user's environment with unnecessary temp variables.
&lt;h3&gt;Variables&lt;/h3&gt;Try to limit the number of global scope variables that you create.  In fact, the only global variable created by PowerShell should be $Pscx.  Any exceptions should be posted for comment in the discussions group.  Under $Pscx there are two hashtables:
&lt;ol&gt;&lt;li&gt;Session - for global session variables&lt;/li&gt;
&lt;li&gt;Preferences - for preference variables&lt;/li&gt;&lt;/ol&gt;
Preferences are for CMDLETs that pull default values from a Preferernce variable in the absence of a parameter.  Session global variables are for all the little global state variable that you need to persist between invocations of your command e.g. &lt;br /&gt;&lt;br /&gt;&lt;span class="codeInline"&gt;$Pscx.Session.Cd#ForwardStack&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note the naming convention for session objects. To help identify which command (script, function, cmdlet) the session variable is associated with, please prefix the property name with this information.  For instance, ForwardStack is need by the CD function that PSCX installs.  So the session variable name would be &amp;quot;CD#ForwardStack&amp;quot;.&lt;br /&gt;&lt;br /&gt;Periodically run PowerShell and examine the global variable space after running your functions and/or scripts.  Make sure that your functions and scripts do not pollute the gloal scope. When this is necessary please conform to the following naming style:&lt;br /&gt;
&lt;h3&gt;Variables that don't follow naming convention&lt;/h3&gt;Any other &amp;quot;approved&amp;quot; global variables created from PSCX that don't follow the PSCX naming convention should be created using the Set-Variable cmdlet as shown in the following example in order to associate the variable with PSCX:&lt;br /&gt;&lt;br /&gt;&lt;span class="codeInline"&gt; Set-Variable Shell (new-object -com Shell.Application) -Scope global -Option ReadOnly -Description &amp;quot;PSCX variable&amp;quot; &lt;/span&gt;&lt;br /&gt;
&lt;h3&gt;Aliases&lt;/h3&gt;In order to find all aliases created by PSCX, we give each alias a description that starts with &amp;quot;PSCX&amp;quot; e.g.:&lt;br /&gt;&lt;br /&gt;&lt;span class="codeInline"&gt; Set-Alias cvxml  Convert-Xml -Option AllScope -Description &amp;quot;PSCX cmdlet alias&amp;quot; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This makes it very easy to find all the PSCX created aliases by executing:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
galpscx
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;How to be a nice PSCX cmdlet&lt;/h2&gt;We have a few base classes which handle most of the repeating common tasks a cmdlet can perform. The most basic class, which all commands should derive from, is called &lt;b&gt;Pscx.Commands.PscxCmdlet&lt;/b&gt;. From this, we have derived some higher level Cmdlets you may find useful:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;PscxPathCommandBase&lt;/b&gt; - base for commands that act upon paths, that may or may not contain wildcard characters. Contains Path and LiteralPath parameters.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PscxEncodingCommandBase&lt;/b&gt; - derived from PscxPathCommandBase, adds an Encoding parameter. We recommend to derive from PscxInputObjectPathCommandBase, which provides much more functionality, if that makes sense for your command.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PscxInputObjectPathCommandBase&lt;/b&gt; - base class for commands that can work both on files and objects. Your implementation should only register its methods using RegisterInputType&amp;lt;T&amp;gt; method, and possibly override InputSettings property.&lt;/li&gt;&lt;/ul&gt;
&lt;b&gt;PscxCmdlet&lt;/b&gt; has some useful features for working with Paths and Providers built-in. We have a specific class called &lt;span class="codeInline"&gt;PscxPathInfo&lt;/span&gt; which is similiar to &lt;span class="codeInline"&gt;System.Management.Automation.PathInfo&lt;/span&gt; except that it can represent all sorts of paths: literal, resolvable and even invalid paths. We use two attributes &lt;span class="codeInline"&gt;ProviderConstraintAttribute&lt;/span&gt; and &lt;span class="codeInline"&gt;PscxPathAttribute&lt;/span&gt; in conjunction with each other to constrain our cmdlets to particular providers (or particular interfaces that a provider might implement, like IContentProvider), and to automatically create PscxPathInfo instances representing path strings passed to cmdlet parameters. You can view how this works by examing this sample PscxCmdlet: &lt;a href="http://pscx.codeplex.com/wikipage?title=Export-Registry%20Cmdlet&amp;referringTitle=PSCX%20Developer%27s%20Guide"&gt;Export-Registry Cmdlet&lt;/a&gt;.&lt;br /&gt;
&lt;h3&gt;Cmdlet Naming&lt;/h3&gt;You should try to use the built-in PowerShell verbs, defined in VerbsCommon, VerbsCommunications, VerbsData, VerbsDiagnostic, VerbsLifecycle, VerbsOther and VerbsSecurity. If you are not sure, create a work item or discussion thread, so we all can choose the best name.&lt;br /&gt;&lt;br /&gt;If the non-stadard verb is the only one that makes sense in that particular domain, place it in Pscx.PscxVerbs class. Similarily, any noun you use should be a constant in the Pscx.PscxNouns class.&lt;br /&gt;
&lt;h3&gt;File Access&lt;/h3&gt;If you are going to read or write from/to a file, you should call one of the FileHandler.ProcessRead, FileHandler.ProcessWrite or FileHandler.ProcessText&lt;br /&gt;methods, and provide them with a delegate that will perform the task. These methods will ensure correct error handling.&lt;br /&gt;
&lt;h4&gt;Text Encoding&lt;/h4&gt;We have a nice little structure &lt;b&gt;EncodingParameter&lt;/b&gt; which should be used when you want an Encoding parameter and can't derive from PscxEncodingCommandBase. See its usage in PscxEncodingCommandBase.&lt;br /&gt;
&lt;h3&gt;Error Handling&lt;/h3&gt;If you need to handle a non-terminating error, use one of the ErrorHandler.WriteXXXError methods. If there is no method that would suit your error condition, and there is the slightest chance your ErrorRecord might be  reused, add a method to the IPscxErrorHandler that will create the error record and call either WriteError or ThrowTerminatingError.&lt;br /&gt;&lt;br /&gt;If a rare situation, you might want to create the error record somewhere else than in the write method. In that case, put it in the PscxErrorRecord class, and call that method from IPscxErrorHandler.&lt;br /&gt;&lt;br /&gt;You should not throw any exceptions (using the throw keyword), unless the error is caused by a bug. User input errors, external error conditions, etc. should be handled using the ErrorHandler.WriteXXX and ErrorHandler.ThrowXXX only.&lt;br /&gt;
&lt;h3&gt;Preference Variables&lt;/h3&gt;There are a number of preference variables that are used by various PSCX cmdlets.  If you need to create one of these please conform to the following naming convention:&lt;br /&gt;&lt;br /&gt;&lt;span class="codeInline"&gt; $Pscx&amp;lt;CmdletNameorAbbrev&amp;gt;&amp;lt;DescriptiveName &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;br /&gt;&lt;span class="codeInline"&gt; $PscxSmtpHostPreference &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To retrieve the parameter / preference variable, use &lt;b&gt;PscxCmdlet.GetPreferenceVariable&lt;/b&gt;.&lt;br /&gt;
&lt;h3&gt;Cmdlet Unit Testing&lt;/h3&gt;&lt;h4&gt;NUnit Installation and Setup&lt;/h4&gt;To get started with being able to run the Pscx_UnitTests follow these steps:
&lt;ol&gt;&lt;li&gt;Install NUnit from $/PowerShellCX/Trunk/Tools/NUnit&lt;/li&gt;
&lt;li&gt;Set the Pscx_UnitTests project to be the startup project (right-click on project node in the Solution Explorer and select &amp;quot;Set as StartUp Project&amp;quot;. &lt;/li&gt;
&lt;li&gt;Open Pscx_UnitTests Properties (right-click on project node in the Solution Explorer and select Properties)&lt;/li&gt;
&lt;li&gt;Select the Debug tab in the Pscx_UnitTest Properties window.&lt;/li&gt;
&lt;li&gt;Set the Start Action to be &amp;quot;Start exteral program:&amp;quot; and use the path to the nunit-gui.exe which is typically something like: C:\Program Files\NUnit-Net-2.0 2.2.9\bin\nunit-gui.exe&lt;/li&gt;
&lt;li&gt;In Start Options set the &amp;quot;Command line arguments to &amp;quot;Pscx_UnitTests.dll&amp;quot;. &lt;/li&gt;&lt;/ol&gt;
&lt;h4&gt;Creating new unit tests&lt;/h4&gt;Most new tests should derive from PscxCmdletTest which takes care of the Runspace setup (adds the snapin) and creates a pipeline for use in your tests. Right now the runspace gets created and destroyed after every test. We'll try it this way and see how the performance is. It seemed like a good way to start to minimize interaction between tests.
&lt;h2&gt;Project structure&lt;/h2&gt;The project is organized roughly like so:
&lt;ul&gt;&lt;li&gt;$/PowerShellCX
&lt;ul&gt;&lt;li&gt;/Branches - Release and private developer branches go here&lt;/li&gt;
&lt;li&gt;/Trunk - Most development should be on the trunk
&lt;ul&gt;&lt;li&gt;/Imports - External dependencies go here&lt;/li&gt;
&lt;li&gt;/Src
&lt;ul&gt;&lt;li&gt;/PscxCore - Shared code that isn't Pscx specific.&lt;/li&gt;
&lt;li&gt;/PscxSnapin - The PSCX snapin project (duh)
&lt;ul&gt;&lt;li&gt;/Commands - Cmdlet source goes here
&lt;ul&gt;&lt;li&gt;/Clipboard - Cmdlets that target the clipboard go here&lt;/li&gt;
&lt;li&gt;/DirectoryServices - Cmdlets related to active directory go here&lt;/li&gt;
&lt;li&gt;/IO - Cmdlets that target dirs and files go here&lt;/li&gt;
&lt;li&gt;/Net - Network-related cmdlets go here&lt;/li&gt;
&lt;li&gt;/Text - Put related cmdlets together in a subdir&lt;/li&gt;
&lt;li&gt;/Xml - Cmdlets that operate on Xml go here&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;/Providers - Provider source goes here&lt;/li&gt;
&lt;li&gt;/Profile- Profile/environment related scripts go here&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;/PscxHelp - Project used to generate help files&lt;/li&gt;
&lt;li&gt;/PscxSetup - The intaller project&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;Namespaces&lt;/h2&gt;The directory structure reflects the namespace structure. Always put the object types your commands &lt;br /&gt;produce into the same namespace as the command. The root namespace is reserved for classes&lt;br /&gt;shared by all code.
&lt;h2&gt;Coding Style&lt;/h2&gt;&lt;h3&gt;File Comment Headers&lt;/h3&gt;&lt;pre&gt;
//---------------------------------------------------------------------
// Authors: &amp;lt;your name&amp;gt;
//
// Description: &amp;lt;short description&amp;gt;
//
// Creation Date: &amp;lt;creation date&amp;gt;
// Modified Date: &amp;lt;modified date&amp;gt;: &amp;lt;your name&amp;gt;: &amp;lt;your changes&amp;gt;
//---------------------------------------------------------------------
&lt;/pre&gt;
&lt;h3&gt;Source code line length - 120&lt;/h3&gt;Please do not bother wrapping your source code until you hit column 120.  Most of us have wide monitors these days so this shouldn't result in horizontal scrolling to see code.
&lt;h3&gt;using directives&lt;/h3&gt;Place using directives outside of the namespace, and sort them alphabetically
&lt;h3&gt;Fields&lt;/h3&gt;Place all fields at the top of the class declaration for easy reference.  Always specify explicitly their accessibility e.g. private.  For all non-public fields, prepend their name with an underscore for easier identification of fields.  Follow the underscore with a camelCase name describing the intent of the field e.g. _paths.  Avoid using public and protected fields. Use properties instead.
&lt;h3&gt;P/Invoke&lt;/h3&gt;All safe PInvoke functions and structures should be placed in the NativeMethods.cs file. Those which require pointer manipulation should be placed in the UnsafeNativeMethods.cs. However the preferred way is to use IntPtrs, GCHandles and Marshal API when possible.
&lt;h3&gt;#region usage&lt;/h3&gt;If you only have a few properties and fields then avoid using regions for fields and/or parameters.  Most cmdlets are simple enough that having these areas of code in a region doesn't add much value but use your judgment.  If you have a large amount of properties and/or fields then using a region can add value to the readability of the code.
&lt;h3&gt;Attributes&lt;/h3&gt;Please put each custom attribute in its own brackets for easy copying and pasting.
&lt;h2&gt;CMDLET Documentation&lt;/h2&gt;&lt;h3&gt;Pscx.dll-help.xml&lt;/h3&gt;The cmdlet help is generated using the Update-PscxHelp script in PscxHelp\Scripts directory, which merges xml files in Pscx\Help with the information obtained from assembly metadata. The following attributes are used:
&lt;ul&gt;&lt;li&gt;Pscx.AcceptsWildcardsAttribute&lt;/li&gt;
&lt;li&gt;Pscx.RelatedLinksAttribute&lt;/li&gt;&lt;/ul&gt;
Here's how the help is generated in versions 1.1 and later:&lt;br /&gt;&lt;pre&gt;
cd $PscxRoot\PscxHelp
.\Scripts\Update-PscxHelp
&lt;/pre&gt;&lt;br /&gt;The script generates the MAML file and the about_Pscx.help.txt file. You need to checkout the files first before running the script.&lt;br /&gt;
&lt;h2&gt;How to obtain and use the TFS client&lt;/h2&gt;
If you just want to obtain our source code, grab it from the &lt;a href="http://www.codeplex.com/PowerShellCX/SourceControl/ListDownloadableCommits.aspx" class="externalLink"&gt;Source Code&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; tab. However, if you are a new member of the development team, you'll need some bits and pieces:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeplex.com/CodePlex/Wiki/View.aspx?title=Obtaining%20the%20Team%20Explorer%20Client&amp;amp;referringTitle=Source%20control%20clients" class="externalLink"&gt;Obtaining the Team Explorer client&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There is some great info for VSTS Source Control (e.g. Team Foundation) at the &lt;a href="http://www.codeplex.com/VSTSGuidance" class="externalLink"&gt;VSTSGuidance&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/VSTSGuidance/Wiki/View.aspx?title=Source%20Control%20Practices%20at%20a%20Glance&amp;amp;referringTitle=Home" class="externalLink"&gt;Best Practices&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/VSTSGuidance/Wiki/View.aspx?title=Source%20Control%20Questions%20and%20Answers&amp;amp;referringTitle=Home" class="externalLink"&gt;Q &amp;amp; A&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>oisin</author><pubDate>Sun, 15 Nov 2009 00:06:44 GMT</pubDate><guid isPermaLink="false">Updated Wiki: PSCX Developer's Guide 20091115120644A</guid></item><item><title>Updated Wiki: Documentation</title><link>http://pscx.codeplex.com/documentation?version=1</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Documentation&lt;/h2&gt;
This is pretty sparse right now; we apologize. A work in progress!&lt;br /&gt;
&lt;h1&gt;PowerShell Community Extensions &lt;/h1&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>oisin</author><pubDate>Sun, 15 Nov 2009 00:06:21 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20091115120621A</guid></item><item><title>New Post: Signing with digital certs</title><link>http://pscx.codeplex.com/Thread/View.aspx?ThreadId=71606</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hey guys, good news, I paid the $40, and it all worked splendidly. They even called me to complete the verification process within an hour or so (even though it was past midnight at the time) ... and I got my code-signing cert.&lt;/p&gt;
&lt;p&gt;Check out &lt;a href="http://poshcode.org/get/1470"&gt;http://poshcode.org/get/1470&lt;/a&gt; (it's my &amp;quot;Authenticode.psm1&amp;quot; module) and see what you think of the resulting signature.&lt;/p&gt;
&lt;p&gt;Anyway, thought you'd like to know that system worked.&lt;/p&gt;
&lt;p&gt;ALSO -- I &lt;strong&gt;did&lt;/strong&gt; become one of their notaries, so everyone bring your passports and drivers licenses (two forms of legal photo ID required -- although when I did it through their website, they let me do it with my expired passport + drivers license) to the MVP Summit ;-)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>Jaykul</author><pubDate>Wed, 11 Nov 2009 07:30:13 GMT</pubDate><guid isPermaLink="false">New Post: Signing with digital certs 20091111073013A</guid></item><item><title>Source code checked in, #61270</title><link>http://pscx.codeplex.com/SourceControl/changeset/view/61270</link><description>Always load WMI type data file - no reason to be able to optionally load it.</description><author>r_keith_hill</author><pubDate>Tue, 10 Nov 2009 16:10:11 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61270 20091110041011P</guid></item><item><title>Closed Issue: GAC Provider errors on Windows 7 x64 RTM [24555]</title><link>http://pscx.codeplex.com/WorkItem/View.aspx?WorkItemId=24555</link><description>When I attempt to dir the gac I get this error&amp;#58;&lt;br /&gt;14&amp;#62; Get-ChildItem gac&amp;#58;&amp;#92;&lt;br /&gt;Get-ChildItem &amp;#58; Type &amp;#34;System.Reflection.AssemblyName&amp;#34; does not implement IComparable&amp;#60;System.Reflection.AssemblyName&amp;#62; or&lt;br /&gt; IComparable.&lt;br /&gt;At line&amp;#58;1 char&amp;#58;14&lt;br /&gt;&amp;#43; Get-ChildItem &amp;#60;&amp;#60;&amp;#60;&amp;#60;  gac&amp;#58;&amp;#92;&lt;br /&gt;    &amp;#43; CategoryInfo          &amp;#58; NotSpecified&amp;#58; &amp;#40;&amp;#58;&amp;#41; &amp;#91;Get-ChildItem&amp;#93;, InvalidOperationException&lt;br /&gt;    &amp;#43; FullyQualifiedErrorId &amp;#58; System.InvalidOperationException,Microsoft.PowerShell.Commands.GetChildItemCommand&lt;br /&gt;</description><author>oisin</author><pubDate>Tue, 10 Nov 2009 15:25:02 GMT</pubDate><guid isPermaLink="false">Closed Issue: GAC Provider errors on Windows 7 x64 RTM [24555] 20091110032502P</guid></item><item><title>Source code checked in, #61263</title><link>http://pscx.codeplex.com/SourceControl/changeset/view/61263</link><description>Move all PSCX cmdlet aliases into Pscx.psm1.  Also don&amp;#39;t show module load details by default.  Added some temp profiling script to Pscx.psm1.</description><author>r_keith_hill</author><pubDate>Tue, 10 Nov 2009 07:54:44 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61263 20091110075444A</guid></item><item><title>Source code checked in, #61260</title><link>http://pscx.codeplex.com/SourceControl/changeset/view/61260</link><description>Removed Math module.  Not sure where it came from but of little value.</description><author>r_keith_hill</author><pubDate>Tue, 10 Nov 2009 07:08:56 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61260 20091110070856A</guid></item><item><title>Source code checked in, #61259</title><link>http://pscx.codeplex.com/SourceControl/changeset/view/61259</link><description>Major refactoring of nested modules to improve the load time.   It is better but still not as good as I would like.  I have put all format&amp;#47;type data files that only specify PSCX types in the Pscx.psd1 file. However format&amp;#47;type data that modified .NET types are still in optional, nested modules.  </description><author>r_keith_hill</author><pubDate>Tue, 10 Nov 2009 07:07:53 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61259 20091110070753A</guid></item></channel></rss>