Scott Hanselman PowerShell video with PowerTab demo on dnrTV!
Scott Hanselman did present a great video episode about Windows PowerShell in Carl Franklin's .NET Rocks TV! ( DrnTV! ) show.
DNRTV Episode 82 - PowerShell is still shiny
The Hanselmaster is back on dnrTV with a great command shell tool that should have come with Windows: PowerShell. Add an additional free extension library and you'll be amazed at the powerful scripts you'll be able to write.
In this Show my PowerTab PowerShell Tabexpansion additions and they get comprehensive coverage. Scott Hanselman really praises it,discusses and reviews the benefits, he does a demo of the installation process and some of the functionality added by PowerTab .
I was already very honored with the fact that PowerTab did make the Scott Hanselman's 2007 Ultimate Developer and Power Users Tool List for Windows , and Scott also did mention it again in his Hanselminutes podcast about the 2007 Ultimate Tool List
This gave PowerTab a big boost already and while I was still was only looking at the Download stats for PowerTab and still wanted to blog about it, Scott Hanselman again shows off and praises PowerTab in a great PowerShell demo he did for Episode 82 of DNRTV.
The Show
Scott opens this show really at the beginning, starting with downloading PowerShell and installing it, meanwhile discussing a common question
- Why is PowerShell now an update ( .Exe (XP) or .MSU (Vista) ) instead of an .MSI ?
A journey that provides a great introduction into discovering PowerShell (and on his way to the TabExpansion function
- the Tabexpansion function,
- Drives and providers in PowerShell
- Get help
- Execution policies
PowerTab
- Download and Installation of PowerTab
- Write-Progress and Confirm Usage in PowertabSetup.ps1
- PowerTab Consolebased intellisense
- Cmdlet Expansion
- Usage of Powertab for .NET and Filesystem completion
Loading and using external .NET assemblies
- Get-Member
- ADM (Admin Development Method)
- Using Command buffer and history to create script from interactive tested command
- Showing PowerTab is not intrusive, you can use it on variables cmdlets and parameters also avoiding typos , but not have to ;-)
Some remarks :
Enabling tabcompletion on custom loaded DLLs,
When Scott shows loading a custom DLL into PowerShell, he mentions that he probably does not have tabcompletion on it, but fortunately his guess on this was wrong ;-) ,
he could have solved that with one simple command
Update-TabExpansionTypes
The Update-TabExpansionTypes command does a complete refresh of the Types library to make it reflect the currently loaded Assemblies, but this takes some time, so I added also a help function to add a singe assembly, as loading the assembly has a reference to the assembly as a returnvalue you can also just load and this single assembly by using the add-TabExpansionTypes helper function that takes a reference to the assembly as a parameter to reflect on and l add to the Tabexpansion database. (this works on any assembly as I do not have Scott's custom DLL, I took BDD 2007 as an example here)
$ass = [System.Reflection.Assembly]::LoadFile( "C:\Program Files\BDD 2007\Bin\Microsoft.BDD.ConfigManager.dll"))
add-TabExpansionTypes $ass
or we could even use the command itself directly as a parameter to the add-TabexpansionTypes function like this
add-TabExpansionTypes ([System.Reflection.Assembly]::LoadFile( "C:\Program Files\BDD 2007\Bin\Microsoft.BDD.ConfigManager.dll"))
And in the second Flash Video I show yet another way :
To get a reference for a already loaded Assembly it's perfectly safe to load it again, the PowerShell Community Extensions do provide a Get-Assembly Cmdlet and I also made a Get-Assembly helper function for this taskm that I use in the BDD 2007 examples below. I added this function to the tabcompletion library so you can also use the command Get-Assembly to list and select Assemblies to load
Video examples :
I also made some short Flash demo's about this process you can find on my blog here :
you can see PowerTab is very extendable.
PowerIDE
Also PowerShellIDE is mentioned, Here Scott really gives me to much credit, the Team he talks about are Karl Prosser and Tobias Weltner of Shell Tools, both are also MVP's,
Tobias Weltner did develop PowerShellIDE and SystemScripter http://www.scriptinternals.com.
Karl Prosser did develop PowerShell analyzer http://www.powershellanalyzer.com/
Shell Tools
Now Tobias and Karl did join forces, and PowerShellIDE is no longer actively developed, but will be merged in the 2 new products.
PowerShell Analyzer : http://www.PowerShell.com/ and
PowerShell Plus : http://www.PowerShell.com/plus
The latter is still in Private Beta. I'm in only in the Beta program also and next to that I'm working with the Shell tools team on the PowerTab integration into PowerShell Plus as PowerTab will be included into the product by default, see also this blogentry : PowerShell Plus , But not as Scott implies my team .
WOW !
You can imagine I really enjoyed this dnrTV! episode ;-)
"Thanks !" * 1KB ; '... to Scott Hanselman'
And I promise that I will clean up the PowerTab Overview Page soon
Enjoy !
Greetings /\/\o\/\/