More PowerShell Video and Audio
I have a busy time catch up with all info in the video and audio releases about PowerShell over the weekend, after Xaegr's Screencast about Powertab in Russian,
I'm watching now :
The videos of the 3rd virtual PowerShell user group meeting, held in January. The details are HERE. , again I really enjoyed the Usergroup meeting also to bad again not live, 3 excelent session's again
- Lee Holmes talks about code generation in PowerShell and introduces a very interesting concept "PowerShell Everywhere"
- Karl Prosser about PowerShell analyzer and PowerShell+
- Brandon Shell about working with Custom objects in PowerShell (although it did not seem complete) ,
a very powerful feature of PowerShell amongs others, Brandon shows how to wrap a existing "Native command" in PowerShell so it exposes the information not as text but but as objects, I like this method also so for more examples see this post about wrapping 7zip PoSH Challenge Part 5 or this series about parsing information for web pages into objects. as said I like this way of working also and will elaborate bit more on this subject .
Another good example of Custom object sue is the $PowerTabConfig variable that is actually also a custom object providing an interface to a DataSet in the background and is almost completely build out of script properties, that give even more possibilities as noteproperties . If you have PowerTab installed this is nice object to look at :
PoSH> $PowerTabConfig | gm
TypeName: System.Object
Name MemberType Definition
---- ---------- ----------
Equals Method System.Boolean Equals(Object obj)
GetHashCode Method System.Int32 GetHashCode()
GetType Method System.Type GetType()
ToString Method System.String ToString()
Colors NoteProperty System.Management.Automation.PSObject Colors={PowerTab Color Configuration}
Setup NoteProperty System.Management.Automation.PSObject Setup={PowerTab Setup Data}
ShortcutChars NoteProperty System.Management.Automation.PSObject ShortcutChars={PowerTab Shortcut Charac...
Version NoteProperty System.String Version=PowerTab version 0.99 Beta 2
AliasQuickExpand ScriptProperty System.Object AliasQuickExpand {get=$v = $dsTabExpansion.Tables['Config'].Sel...
AlternateHandler ScriptProperty System.Object AlternateHandler {get=$v = $dsTabExpansion.Tables['Config'].Sel...
AutoExpandOnBackSlash ScriptProperty System.Object AutoExpandOnBackSlash {get=$v = $dsTabExpansion.Tables['Config'...
AutoExpandOnDot ScriptProperty System.Object AutoExpandOnDot {get=$v = $dsTabExpansion.Tables['Config'].Sele...
BackSlashComplete ScriptProperty System.Object BackSlashComplete {get=$v = $dsTabExpansion.Tables['Config'].Se...
CloseListOnEmptyFilter ScriptProperty System.Object CloseListOnEmptyFilter {get=$v = $dsTabExpansion.Tables['Config...
CustomComplete ScriptProperty System.Object CustomComplete {get=$v = $dsTabExpansion.Tables['Config'].Selec...
CustomCompletionChars ScriptProperty System.Object CustomCompletionChars {get=$v = $dsTabExpansion.Tables['Config'...
CustomFunctionEnabled ScriptProperty System.Object CustomFunctionEnabled {get=$v = $dsTabExpansion.Tables['Config'...
CustomUserFunction ScriptProperty System.Object CustomUserFunction {get=$v = $dsTabExpansion.Tables['Config'].S...
DefaultHandler ScriptProperty System.Object DefaultHandler {get=$v = $dsTabExpansion.Tables['Config'].Selec...
DotComplete ScriptProperty System.Object DotComplete {get=$v = $dsTabExpansion.Tables['Config'].Select("...
DoubleBorder ScriptProperty System.Object DoubleBorder {get=$v = $dsTabExpansion.Tables['Config'].Select(...
DoubleTabEnabled ScriptProperty System.Object DoubleTabEnabled {get=$v = $dsTabExpansion.Tables['Config'].Sel...
DoubleTabLock ScriptProperty System.Object DoubleTabLock {get=$v = $dsTabExpansion.Tables['Config'].Select...
Enabled ScriptProperty System.Object Enabled {get=$v = $dsTabExpansion.Tables['Config'].Select("Name...
FastScrollItemcount ScriptProperty System.Object FastScrollItemcount {get=$v = $dsTabExpansion.Tables['Config']....
FileSystemExpand ScriptProperty System.Object FileSystemExpand {get=$v = $dsTabExpansion.Tables['Config'].Sel...
IgnoreConfirmPreference ScriptProperty System.Object IgnoreConfirmPreference {get=$v = $dsTabExpansion.Tables['Confi...
MinimumListItems ScriptProperty System.Object MinimumListItems {get=$v = $dsTabExpansion.Tables['Config'].Sel...
ShowAccessorMethods ScriptProperty System.Object ShowAccessorMethods {get=$v = $dsTabExpansion.Tables['Config']....
ShowBanner ScriptProperty System.Object ShowBanner {get=$v = $dsTabExpansion.Tables['Config'].Select("N...
SpaceComplete ScriptProperty System.Object SpaceComplete {get=$v = $dsTabExpansion.Tables['Config'].Select...
SpaceCompleteFileSystem ScriptProperty System.Object SpaceCompleteFileSystem {get=$v = $dsTabExpansion.Tables['Confi...
TabActivityIndicator ScriptProperty System.Object TabActivityIndicator {get=$v = $dsTabExpansion.Tables['Config']...
PoSH> $PowerTabConfig | gm AliasQuickExpand | fl
TypeName : System.Object
Name : AliasQuickExpand
MemberType : ScriptProperty
Definition : System.Object AliasQuickExpand {get=$v = $dsTabExpansion.Tables['Config'].Select("Name = 'AliasQuickExpand
'")[0]
if ($v.type -eq 'bool'){[bool][int]$v.Value}
else {[bool]($v.value)}
;set=trap{write-warning $_;continue}
$val = [bool]$args[0]
if ( 'bool' -eq 'bool' ) {$val = [int]$val}
$dsTabExpansion.Tables['Config'].Select("Name = 'AliasQuickExpand'")[0].Value = $val;}
PoSH>
And then listening to :
Also as you can hear in the Podcast there is more PowerShell candy to come (Steve mentioned tomorrow )
a new Video Podcast starting up : PowerShell-Basics.com , I look forward to this one.
Another one I need to watch yet (a link from the PowerScripting Podcast also )
CS Techcast podcast. featuring Brandon Shell
So enough Ear and Eye food again for the PowerShell enthusiasts !!
And for the ones that missed it, and in need of more PowerShell video and audio, from last weekend "Already", but I did not yet mention on my blog yet : .NET Rocks! episode #311 and RunAs Radio episode #42 are now available , Bit with Kirk Munro (Poshaholic and MVP) and featuring PowerGUI.
Enjoy,
Greetings /\/\o\/\/