<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8903006743421146366</id><updated>2011-09-21T13:44:44.220-07:00</updated><category term='CTP3'/><category term='ORACLE'/><category term='parameterized queries'/><category term='advanced function'/><category term='workaroundn'/><category term='Schmierzettel'/><category term='SQL'/><category term='ISEpack'/><category term='Wishlist'/><category term='PSremoting'/><category term='wrapping'/><category term='ISE-Cream'/><category term='EVAL'/><category term='Modeless Window'/><category term='SQLPSX'/><category term='SQLite'/><category term='Editor-pane'/><category term='Get-Process'/><category term='Out-String'/><category term='null'/><category term='nested lists'/><category term='DataRow'/><category term='min'/><category term='Current Disk Queue Length'/><category term='max'/><category term='Compare-Object'/><category term='german Vista'/><category term='PowerShell'/><category term='Remove-Module'/><category term='Sendkey'/><category term='Format-Table'/><category term='poshcodegen'/><category term='selection'/><category term='PowerBoots'/><category term='ISE'/><category term='Modules'/><category term='Proposal'/><category term='PowerGui'/><category term='WPF'/><category term='Windows 7'/><category term='WPK'/><title type='text'>PauerSchell</title><subtitle type='html'>This blog is about PowerShell Scripting, therefor it's name is just PowerShell. Ok using german orthografie.

I have a Python background and my office duties are databases and reporting related.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>82</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-6296810436216229405</id><published>2011-04-27T05:08:00.000-07:00</published><updated>2011-04-27T05:08:38.967-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQLite'/><category scheme='http://www.blogger.com/atom/ns#' term='WPK'/><title type='text'>Search for Firefox Bookmarks with given combination of 1 to 3 keywords</title><content type='html'>When I found that Firefox stores its bookmarks in a sqlite database places.sqlite I wrote the following PowerShell script to search for bookmark by keyword combination.&lt;br /&gt;&lt;br /&gt;Here is the code:&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#0000ff'&gt;ipmo&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;WPK&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;!&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$sqlitedll&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$sqlitedll&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#008080'&gt;[System.Reflection.Assembly]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;::&lt;/span&gt;&lt;span style='color:#000000'&gt;LoadFrom&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#8b0000'&gt;"C:\Program Files\System.Data.SQLite\bin\System.Data.SQLite.dll"&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;             &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$ConnectionString&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Data Source=C:\Var\sqlite_ff4\places.sqlite"&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$conn&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;new-object&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;System.Data.SQLite.SQLiteConnection&lt;/span&gt;             &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$conn&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ConnectionString&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$ConnectionString&lt;/span&gt;             &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$conn&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Open&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;             &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Invoke-sqlite&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;param&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt; &lt;span style='color:#008080'&gt;[string]&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$sql&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;           &lt;span style='color:#008080'&gt;[System.Data.SQLite.SQLiteConnection]&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$connection&lt;/span&gt;            &lt;br /&gt;           &lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$cmd&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;new-object&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;System.Data.SQLite.SQLiteCommand&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$sql&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$connection&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$ds&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;New-Object&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;system.Data.DataSet&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$da&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;New-Object&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;System.Data.SQLite.SQLiteDataAdapter&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$cmd&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$da&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;fill&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$ds&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Out-Null&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;return&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$ds&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;tables&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#800080'&gt;0&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Show-Bockmarks&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$resource&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;New-Grid&lt;/span&gt; &lt;span style='color:#000080'&gt;-Rows&lt;/span&gt; &lt;span style='color:#800080'&gt;2&lt;/span&gt; &lt;span style='color:#000080'&gt;-Columns&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt; &lt;span style='color:#000080'&gt;-width&lt;/span&gt; &lt;span style='color:#800080'&gt;1400&lt;/span&gt; &lt;span style='color:#000080'&gt;-hight&lt;/span&gt; &lt;span style='color:#800080'&gt;1000&lt;/span&gt;  &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;        &lt;span style='color:#0000ff'&gt;New-StackPanel&lt;/span&gt; &lt;span style='color:#000080'&gt;-Orientation&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;horizontal&lt;/span&gt; &lt;span style='color:#000080'&gt;-column&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt; &lt;span style='color:#000080'&gt;-row&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt; &lt;span style='color:#000080'&gt;-Children&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;             &lt;span style='color:#0000ff'&gt;New-Label&lt;/span&gt;    &lt;span style='color:#8b0000'&gt;'1. Keyword'&lt;/span&gt;            &lt;br /&gt;             &lt;span style='color:#0000ff'&gt;New-TextBox&lt;/span&gt;  &lt;span style='color:#000080'&gt;-Name&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;tag1&lt;/span&gt; &lt;span style='color:#000080'&gt;-width&lt;/span&gt; &lt;span style='color:#800080'&gt;200&lt;/span&gt;            &lt;br /&gt;             &lt;span style='color:#0000ff'&gt;New-Label&lt;/span&gt;    &lt;span style='color:#8b0000'&gt;'2. Keyword'&lt;/span&gt;            &lt;br /&gt;             &lt;span style='color:#0000ff'&gt;New-TextBox&lt;/span&gt;  &lt;span style='color:#000080'&gt;-Name&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;tag2&lt;/span&gt; &lt;span style='color:#000080'&gt;-width&lt;/span&gt; &lt;span style='color:#800080'&gt;200&lt;/span&gt;            &lt;br /&gt;             &lt;span style='color:#0000ff'&gt;New-Label&lt;/span&gt;    &lt;span style='color:#8b0000'&gt;'3. Keyword'&lt;/span&gt;            &lt;br /&gt;             &lt;span style='color:#0000ff'&gt;New-TextBox&lt;/span&gt;  &lt;span style='color:#000080'&gt;-Name&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;tag3&lt;/span&gt; &lt;span style='color:#000080'&gt;-width&lt;/span&gt; &lt;span style='color:#800080'&gt;200&lt;/span&gt;            &lt;br /&gt;             &lt;span style='color:#0000ff'&gt;New-Button&lt;/span&gt; &lt;span style='color:#000080'&gt;-Name&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Search&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"search"&lt;/span&gt; &lt;span style='color:#000080'&gt;-On_Click&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$text1&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$window&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-ChildControl&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Tag1&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$tag1&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$text1&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Text&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$text2&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$window&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-ChildControl&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Tag2&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$tag2&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$text2&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Text&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$text3&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$window&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-ChildControl&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Tag3&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$tag3&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$text3&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Text&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$tag2&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-ne&lt;/span&gt; &lt;span style='color:#8b0000'&gt;''&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$clause2&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;@"            &lt;br /&gt;    join moz_bookmarks l2 on b.fk = l2.fk and b.id &lt;&gt; l2.id&lt;br /&gt;    join moz_bookmarks t2 on l2.parent = t2.id and  t2.parent = 4 and upper(t2.title) = upper('$tag2')&lt;br /&gt;"@&lt;/span&gt;                                    &lt;br /&gt;            &lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#00008b'&gt;else&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$clause2&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;''&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;                    &lt;br /&gt;            &lt;br /&gt;            &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$tag3&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-ne&lt;/span&gt; &lt;span style='color:#8b0000'&gt;''&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$clause3&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;@"            &lt;br /&gt;    join moz_bookmarks l3 on b.fk = l3.fk and b.id &lt;&gt; l3.id&lt;br /&gt;    join moz_bookmarks t3 on l3.parent = t3.id and  t3.parent = 4 and upper(t3.title) = upper('$tag3')&lt;br /&gt;"@&lt;/span&gt;                                    &lt;br /&gt;            &lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#00008b'&gt;else&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$clause3&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;''&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;                    &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$ff_sql&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;@"&lt;br /&gt;SELECT b.title, datetime (b.dateAdded / 1000000, 'unixepoch', 'localtime') dateAdded , p.url&lt;br /&gt;    from moz_bookmarks b&lt;br /&gt;    join moz_bookmarks l1 on b.fk = l1.fk and b.id &lt;&gt; l1.id&lt;br /&gt;    join moz_bookmarks t1 on l1.parent = t1.id and  t1.parent = 4 and upper(t1.title) = upper('$tag1')&lt;br /&gt;    join moz_places p  on b.fk = p.id $clause2 $clause3&lt;br /&gt;where b.title is not null and b.type = 1&lt;br /&gt;"@&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$conn&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$resource&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;conn&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$window&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Title&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"$($conn.database) Database Browser"&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$TableView&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$window&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-ChildControl&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;TableView&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$TableView&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ItemsSource&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Invoke-sqlite&lt;/span&gt; &lt;span style='color:#000080'&gt;-sql&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$ff_sql&lt;/span&gt; &lt;span style='color:#000080'&gt;-connection&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$conn&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;             &lt;span style='color:#000000'&gt;}&lt;/span&gt;             &lt;br /&gt;             &lt;span style='color:#0000ff'&gt;New-Button&lt;/span&gt; &lt;span style='color:#000080'&gt;-Name&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Cancel&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Close"&lt;/span&gt; &lt;span style='color:#000080'&gt;-On_Click&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$window&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Close&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#0000ff'&gt;New-ListView&lt;/span&gt; &lt;span style='color:#000080'&gt;-Column&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt; &lt;span style='color:#000080'&gt;-Row&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt; &lt;span style='color:#000080'&gt;-Name&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;TableView&lt;/span&gt; &lt;span style='color:#000080'&gt;-View&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;           &lt;span style='color:#0000ff'&gt;New-GridView&lt;/span&gt; &lt;span style='color:#000080'&gt;-AllowsColumnReorder&lt;/span&gt; &lt;span style='color:#000080'&gt;-Columns&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;               &lt;span style='color:#0000ff'&gt;New-GridViewColumn&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"title"&lt;/span&gt;             &lt;br /&gt;               &lt;span style='color:#0000ff'&gt;New-GridViewColumn&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"dateAdded"&lt;/span&gt;             &lt;br /&gt;               &lt;span style='color:#0000ff'&gt;New-GridViewColumn&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"url"&lt;/span&gt;             &lt;br /&gt;           &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;   &lt;span style='color:#000080'&gt;-On_SelectionChanged&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;             &lt;span style='color:#0000ff'&gt;start&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$this&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;selecteditem&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;url&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#006400'&gt;#}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#000080'&gt;-asjob&lt;/span&gt; &lt;span style='color:#000080'&gt;-Resource&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$resource&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Show-Bockmarks&lt;/span&gt; &lt;span style='color:#000080'&gt;-resource&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;conn&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$conn&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;You have to install &lt;b&gt;System.Data.SQLite&lt;/b&gt;&lt;br /&gt;from http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki&lt;br /&gt;&lt;br /&gt;I had problems when I checked the install in GAC option. Therefore I installed it without that option and supply the absolute path in my script.&lt;br /&gt;&lt;br /&gt;Note: You can't open places.sqlite while Firefox is running. I copied it and coded the path of the copy into my script.&lt;br /&gt;&lt;br /&gt;Now I can enter a keyword, press search and the grid fills. Double clicking  starts the bookmark in the default browser.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-6296810436216229405?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/6296810436216229405/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2011/04/search-for-firefox-bookmarks-with-given.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6296810436216229405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6296810436216229405'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2011/04/search-for-firefox-bookmarks-with-given.html' title='Search for Firefox Bookmarks with given combination of 1 to 3 keywords'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-3964349824590440171</id><published>2010-11-20T23:46:00.000-08:00</published><updated>2010-11-21T04:00:09.049-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Editor-pane'/><category scheme='http://www.blogger.com/atom/ns#' term='EVAL'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='ISE'/><title type='text'>Eval-Selection in ISE editor, result in editor pane</title><content type='html'>Here is a little demo showing, who to use ISEs editor pane to display untruncated, unwrapped results.&lt;br /&gt;&lt;br /&gt;Run the script in ISE.&lt;br /&gt;Open a new editor.&lt;br /&gt;Tpye dir and press F7:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="PowerShellColorizedScript"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: darkblue;"&gt;function&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Eval-Selection&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;# Bernd Kriszio 2010-11-21&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;# http://pauerschell.blogspot.com/&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;# twitter @bernd_k&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$psise&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CurrentFile&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Editor&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;if&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;SelectedText&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$inputScript&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;SelectedText&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;InsertText&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: darkred;"&gt;''&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;InsertText&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$inputScript&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$result&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: blue;"&gt;Invoke-expression&lt;/span&gt; &lt;span style="color: orangered;"&gt;$inputScript&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;out-String&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;insertText&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: darkred;"&gt;"`r`n"&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;InsertText&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$result&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;else&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$inputScript&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Text&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$EndLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;LineCount&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$EndColumn&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;GetLineLength&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$EndLine&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;+&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;SetCaretPosition&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$EndLine&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: orangered;"&gt;$EndColumn&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$result&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: blue;"&gt;Invoke-expression&lt;/span&gt; &lt;span style="color: orangered;"&gt;$inputScript&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;out-String&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;insertText&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: darkred;"&gt;"`r`n"&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;InsertText&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$result&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: orangered;"&gt;$psISE&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CurrentPowerShellTab&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;AddOnsMenu&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Submenus&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Add&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: darkred;"&gt;"Eval-Selection"&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt;&lt;span style="color: blue;"&gt;Eval-Selection&lt;/span&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;,&lt;/span&gt;&amp;nbsp; &lt;span style="color: darkred;"&gt;'f7'&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Edited&lt;/b&gt;&lt;br /&gt;After playing a while, I modified the rules for the case, when nothing is selected. Now I use just the single line, the caret is in. Further I added the -width 1000 parameter to make it realy an improvement about usual output-pane results.&lt;br /&gt;&lt;br /&gt;And I have a lot of crazy ideas, what to do if the caret is in an empty line. I don't implement them. Next month I wouldn't remember them myself.&lt;br /&gt;&lt;br /&gt;Keep things simple&lt;br /&gt;&lt;br /&gt;Bernd&lt;br /&gt;&lt;br /&gt;This is the version, I added to my profile:&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Eval-Selection&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# Bernd Kriszio 2010-11-21&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# http://pauerschell.blogspot.com/&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# twitter @bernd_k&lt;/span&gt;            &lt;br /&gt;                &lt;br /&gt;                    &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$editor&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psise&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentFile&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Editor&lt;/span&gt;            &lt;br /&gt;                &lt;br /&gt;    &lt;span style='color:#006400'&gt;# if nothing is selected just use the line the caret is in&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;!&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;SelectedText&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$caretLine&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CaretLine&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$caretLineEnd&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;GetLineLength&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$caretLine&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;+&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;                &lt;br /&gt;                    &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Select&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$caretLine&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$caretLine&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$caretLineEnd&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# if something is selected use it.&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;SelectedText&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$inputScript&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;SelectedText&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;InsertText&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#8b0000'&gt;''&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;InsertText&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$inputScript&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$result&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Invoke-expression&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$inputScript&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;out-String&lt;/span&gt; &lt;span style='color:#000080'&gt;-width&lt;/span&gt; &lt;span style='color:#800080'&gt;1000&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CaretColumn&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-ne&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;insertText&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#8b0000'&gt;"`r`n"&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;InsertText&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$result&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-3964349824590440171?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/3964349824590440171/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/11/eval-selection-in-ise-editor-result-in.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/3964349824590440171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/3964349824590440171'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/11/eval-selection-in-ise-editor-result-in.html' title='Eval-Selection in ISE editor, result in editor pane'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-8227900494756918561</id><published>2010-11-16T22:33:00.000-08:00</published><updated>2010-11-16T22:33:54.802-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQLPSX'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='selection'/><category scheme='http://www.blogger.com/atom/ns#' term='ISE'/><title type='text'>Determine Start and End of a Selection in PowerShell Ise</title><content type='html'>Hello, I' m just working on a new inline outpout mode for &lt;a href="http://sqlpsx.codeplex.com/"&gt;SQLPSX&lt;/a&gt; a very ambious project to access SQL databases based on PowerShell.&lt;br /&gt;&lt;br /&gt;There ISEs Output pane doesn't always satisfy my needs, because it truncates and wraps output but you can put your Output into the current or new Editor panes and that works fine. Today I focus on using the current editor pane.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;My goal is to insert the output exactly at the starting of the line below the selection if there is one or at the end of the editor.&lt;br /&gt;&lt;br /&gt;First I found it difficult to get the start and end of a selection, but than I found a clever work around. I can even determine, if a selection was done from left to right or from right to left.&lt;br /&gt;&lt;br /&gt;But don't use this possibility. It would be really confusing.&lt;br /&gt;&lt;br /&gt;Here is my test code, with which I designed (honestly redesigned) the logic to evaluate the output location in SQLPSX (next release).&lt;br /&gt;&lt;br /&gt;Have fun studying it. Just put the code below it into an ISE editor, select some text (or nothing) and press F5.&lt;br /&gt;&lt;br /&gt;Bernd&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color: darkblue;"&gt;function&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Get-InfoAboutCurentFilesEditor&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$psIse&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CurrentFile&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Editor&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$LineCount&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;LineCount&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$CaretLine&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CaretLine&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$caretColumn&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CaretColumn&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$CaretLineLength&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;GetLineLength&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$CaretLine&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$CaretAtLineEnd&lt;/span&gt;&amp;nbsp; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$caretColumn&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;-eq&lt;/span&gt; &lt;span style="color: orangered;"&gt;$CaretLineLength&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;+&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$CaretInLastLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$CaretLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;-eq&lt;/span&gt; &lt;span style="color: orangered;"&gt;$LineCount&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$SelectedText&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;SelectedText&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$hasSelection&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$SelectedText&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;-ne&lt;/span&gt; &lt;span style="color: darkred;"&gt;''&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;if&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$hasSelection&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;# delete selected text&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;InsertText&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: darkred;"&gt;''&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$StartLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CaretLine&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$StartColumn&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CaretColumn&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;# reinsert the text&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;InsertText&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$SelectedText&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$EndLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CaretLine&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$EndColumn&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CaretColumn&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;# restore the selection&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;select&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$StartLine&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: orangered;"&gt;$StartColumn&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: orangered;"&gt;$EndLine&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: orangered;"&gt;$EndColumn&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$reverse&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt;&amp;nbsp; &lt;span style="color: orangered;"&gt;$CaretLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;-eq&lt;/span&gt;&amp;nbsp; &lt;span style="color: orangered;"&gt;$StartLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;-and&lt;/span&gt; &lt;span style="color: orangered;"&gt;$caretColumn&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;-eq&lt;/span&gt; &lt;span style="color: orangered;"&gt;$StartColumn&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;else&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$StartLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt;&amp;nbsp; &lt;span style="color: orangered;"&gt;$EndLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$LineCount&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$StartColumn&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$EndColumn&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;GetLineLength&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$EndLine&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;+&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$reverse&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$False&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;if&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&amp;nbsp; &lt;span style="color: orangered;"&gt;$EndLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;-lt&lt;/span&gt;&amp;nbsp; &lt;span style="color: orangered;"&gt;$LineCount&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$outputLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$EndLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;+&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$outputColumn&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$NeedsNewLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$False&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;else&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$outputLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$EndLine&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$outputColumn&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$EndColumn&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;if&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$EndColumn&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;-ne&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$NeedsNewLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$True&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$outputColumn&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;GetLineLength&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$EndLine&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;+&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;else&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$NeedsNewLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$False&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: darkred;"&gt;@"&lt;br /&gt;DisplayName:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $($psIse.CurrentFile.DisplayName) &lt;br /&gt;LineCount:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $LineCount&lt;br /&gt;&lt;br /&gt;CaretLine:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $CaretLine&lt;br /&gt;CaretColumn:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $caretColumn&lt;br /&gt;CaretLineLength: $CaretLineLength&lt;br /&gt;CaretAtLineEnd:&amp;nbsp; $CaretAtLineEnd&lt;br /&gt;CaretInLastLine: $CaretInLastLine&lt;br /&gt;&lt;br /&gt;hasSelection:&amp;nbsp;&amp;nbsp;&amp;nbsp; $hasSelection&lt;br /&gt;reverse:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $reverse&lt;br /&gt;&lt;br /&gt;outputLine:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $outputLine&lt;br /&gt;outputColumn:&amp;nbsp;&amp;nbsp;&amp;nbsp; $outputColumn&lt;br /&gt;NeedsNewLine:&amp;nbsp;&amp;nbsp;&amp;nbsp; $NeedsNewLine&lt;br /&gt;"@&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: blue;"&gt;Get-InfoAboutCurentFilesEditor&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-8227900494756918561?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/8227900494756918561/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/11/determine-start-and-end-of-selection-in.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/8227900494756918561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/8227900494756918561'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/11/determine-start-and-end-of-selection-in.html' title='Determine Start and End of a Selection in PowerShell Ise'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-2356764687092527322</id><published>2010-11-15T06:54:00.000-08:00</published><updated>2010-11-15T06:54:07.707-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='workaroundn'/><category scheme='http://www.blogger.com/atom/ns#' term='selection'/><category scheme='http://www.blogger.com/atom/ns#' term='ISE'/><title type='text'>New ISE work arounds -- determine start and end of textselection</title><content type='html'>I just guess that ISE is made by some Trappist monks. One never hears anything about future versions.&lt;br /&gt;At most some closed Change Request at Microsoft Commit.&lt;br /&gt;I get a little tired hoping, they will release anything soon.&lt;br /&gt;If I need something, I'm going to write some dirty workaround.&lt;br /&gt;Current problem: you can select text within the editor from left to right or from right to left ending with the caret at different positions.&lt;br /&gt;Only the holy men didn't publish the API to get the start and the end of the selection. You can query only the caret position.&lt;br /&gt;What I want acchieve, is to be able to insert in the line just below the current selection.&lt;br /&gt;Well the following work around sets the caret to the beginning of the selection.&lt;br /&gt;Put the code into an ise editor select testa and press f5, than repeat it by selecting the tesxt in the oposite direction and press again f5:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color: orangered;"&gt;$editor&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$psise&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CurrentFile&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Editor&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&lt;span style="color: orangered;"&gt;$currentselection&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;SelectedText&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&lt;span style="color: darkblue;"&gt;if&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$currentselection&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$initialCaretLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CaretLine&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$initialCaretColumn&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CaretColumn&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;InsertText&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: darkred;"&gt;''&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$selstartline&lt;/span&gt;&amp;nbsp; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CaretLine&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$selstartColumn&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CaretColumn&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;InsertText&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$currentselection&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$selEndline&lt;/span&gt;&amp;nbsp; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CaretLine&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$selEndColumn&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CaretColumn&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Select&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$selstartline&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: orangered;"&gt;$selstartColumn&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: orangered;"&gt;$selEndline&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: orangered;"&gt;$selEndColumn&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkred;"&gt;"Selection is ($selstartline, $selstartColumn, $selEndline, $selEndColumn)"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkred;"&gt;"Initial Caret Position ($initialCaretLine, $initialCaretColumn)"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: darkgreen;"&gt;# testa&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: darkgreen;"&gt;# testb&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hope this really helps&lt;br /&gt;&lt;br /&gt;Bernd&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;h1 class="firstHeading" id="firstHeading" style="background-image: none; border-bottom: 1px solid rgb(170, 170, 170); color: black; font-size: 1.6em; font-weight: normal; line-height: 1.2em; margin: 0px 0px 0.1em; padding-bottom: 0px; padding-top: 0px; width: auto;"&gt;&lt;br /&gt;&lt;/h1&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-2356764687092527322?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/2356764687092527322/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/11/new-ise-work-arounds-determine-start.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/2356764687092527322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/2356764687092527322'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/11/new-ise-work-arounds-determine-start.html' title='New ISE work arounds -- determine start and end of textselection'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-3145370212950431832</id><published>2010-11-14T09:21:00.000-08:00</published><updated>2010-11-14T09:21:53.844-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Format-Table'/><category scheme='http://www.blogger.com/atom/ns#' term='DataRow'/><category scheme='http://www.blogger.com/atom/ns#' term='Out-String'/><title type='text'>I can code Bad Influenced style too</title><content type='html'>I hope there is a better way to do this, but if PowerShell enforces the use of work arounds, I'll use them.&lt;br /&gt;Please, if you find something more elegant, please drop a note. &lt;br /&gt;&lt;br /&gt;Well to make &lt;a href="http://sqlpsx.codeplex.com/"&gt;SQLPSX&lt;/a&gt; one of the most powerfull tools to extract data from SQL-Server or Oracle databases I just want to transform a datarow into a tabular representation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$datarow | Format-Table -auto&lt;br /&gt;&lt;br /&gt;seems a good start, but as described in &lt;a href="http://poshoholic.com/2010/11/11/powershell-quick-tip-creating-wide-tables-with-powershell/"&gt;http://poshoholic.com/2010/11/11/powershell-quick-tip-creating-wide-tables-with-powershell/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;you need to pass the result to Out-String -width 10000 or as many characters you want.&lt;br /&gt;Sorry can't say -1 for unlimited. (Perhaps in V3, if we cry load enough?) &lt;br /&gt;&lt;br /&gt;Oops not all columns included, lets add -property *&lt;br /&gt;&lt;br /&gt;$datarow | Format-Table -auto -property * | Out-String -width 10000&lt;br /&gt;&lt;br /&gt;Oops what happens now?&amp;nbsp; At the end you get some unwanted addition columns:&lt;br /&gt;&lt;br /&gt;RowError, RowState, Table, ItemArray,&amp;nbsp; HasErrors&lt;br /&gt;&lt;br /&gt;A problem well described in &lt;a href="https://connect.microsoft.com/PowerShell/feedback/details/400549/dataset-tables-property-returns-additional-properties-in-datarow-in-v2-ctp-3-not-in-v1?wa=wsignin1.0"&gt;https://connect.microsoft.com.&lt;/a&gt; With no work around supplied.&lt;br /&gt;&lt;br /&gt;Go there and vote for it. &lt;br /&gt;&lt;br /&gt;And here is the code, that gives me the wanted result. I agree, it is ugly, but its result is fine:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color: orangered;"&gt;$columns&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;''&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;foreach&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$i&lt;/span&gt; &lt;span style="color: darkblue;"&gt;in&lt;/span&gt; &lt;span style="color: purple;"&gt;0&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;..&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$res&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;0&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;]&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Table&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;columns&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;count&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;-&lt;/span&gt;&lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;if&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$columns&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: orangered;"&gt;$columns&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;+=&lt;/span&gt;&amp;nbsp; &lt;span style="color: darkred;"&gt;', '&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;+&lt;/span&gt; &lt;span style="color: orangered;"&gt;$res&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;0&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;]&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Table&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Columns&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;[&lt;/span&gt;&lt;span style="color: orangered;"&gt;$i&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;]&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;ColumnName&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;else&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: orangered;"&gt;$columns&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$res&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;0&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;]&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Table&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Columns&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;[&lt;/span&gt;&lt;span style="color: orangered;"&gt;$i&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;]&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;ColumnName&lt;/span&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$c&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;'($res | ft -Property '&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;+&lt;/span&gt; &lt;span style="color: orangered;"&gt;$columns&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;+&lt;/span&gt; &lt;span style="color: darkred;"&gt;' -auto | Out-string -width 10000 -stream ) -replace " *$", ""-replace "\.\.\.$", "" -join "`r`n" '&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$text&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: blue;"&gt;Invoke-expression&lt;/span&gt; &lt;span style="color: orangered;"&gt;$c&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/pre&gt;&lt;br /&gt;I hope this helps&lt;br /&gt;&lt;br /&gt;Bernd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-3145370212950431832?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/3145370212950431832/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/11/i-can-code-bad-influenced-style-too.html#comment-form' title='7 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/3145370212950431832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/3145370212950431832'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/11/i-can-code-bad-influenced-style-too.html' title='I can code Bad Influenced style too'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-914363061729104098</id><published>2010-11-13T06:16:00.000-08:00</published><updated>2010-11-13T06:16:52.533-08:00</updated><title type='text'>SQLPSX Release 2.3 is real tool for SQL-Server</title><content type='html'>Well it took some time, until &lt;a href="http://sev17.com/"&gt;Chad Miller&lt;/a&gt; published the current version of SQLPSX.&lt;br /&gt;Concerning SQL-Server I dare say, it is a real tool to work with, with some unique features.&lt;br /&gt;&lt;br /&gt;You get a lot of options for output format, e.g. list, which showes you the contents of the columns above each other. That helps, if you have varchar fields containing multiple lines. While the usual grid format only displays the first line and the text format looses column alignment, here you get nearly the complete content.&lt;br /&gt;Nearly? Yes using ISE Output window, some wise man desided that truncating the output to current width of the Output window is what users have to want.&lt;br /&gt;&lt;br /&gt;OK. With the limitations of the output window you have two options. First you can tweet about this last millenium decision. Second you can pray to Microsoft Connect and send a change Request for an option to programmatically set the witdth of the output pane).&lt;br /&gt;Or you just ignore the two options and write a workaround.&lt;br /&gt;&lt;br /&gt;The workaround I invented is the output format isetab. (Yes you find it in SQLPSX 2.3)&lt;br /&gt;The trick is not using the Output pane for displaying the result, but to create a new editor and display it there in its whole witdh.&lt;br /&gt;&lt;br /&gt;Working with the new mode, I soon end with lots of ofen editors and nearly as a joke to a coworker I designed the idea of an inline output format. I put the result into the calling editor, just below the calling selection or at the end, if there is none.&lt;br /&gt;&lt;br /&gt;First trial was just 4 lines and it just felt good.&lt;br /&gt;&lt;br /&gt;You can adjust the princip, if you have a function, which you invoke by ISE menu, which produces some wide output. Instead of sending the output to the output pane, you can use something similar to:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color: orangered;"&gt;$text&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;"your code goes here&amp;gt;"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$psise&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CurrentFile&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Editor&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$caretLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;CaretLine&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$lineCount&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;LineCount&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;if&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;-not&lt;/span&gt; &lt;span style="color: orangered;"&gt;$selectedEditor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;SelectedText&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$lineend&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;GetLineLength&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$lineCount&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;+&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;# Write-Host "Nothing Selected&amp;nbsp; Linecount: $lineCount LineEnd: $lineend"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;if&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$lineend&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;-eq&lt;/span&gt; &lt;span style="color: purple;"&gt;0&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt;&lt;span style="color: orangered;"&gt;$lineend&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;# set selection to the end of the editor&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Select&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$lineCount&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: orangered;"&gt;$lineend&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: orangered;"&gt;$lineCount&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: orangered;"&gt;$lineend&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;elseif&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$caretLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;-lt&lt;/span&gt; &lt;span style="color: orangered;"&gt;$lineCount&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;# Write-Host "Usual case"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;# set selection to the start of the next line&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Select&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$caretLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;+&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: orangered;"&gt;$caretLine&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;+&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;else&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$lineend&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;GetLineLength&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$lineCount&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;+&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;# Write-Host "At end&amp;nbsp; Linecount: $lineCount LineEnd: $lineend"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;if&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$lineend&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;-eq&lt;/span&gt; &lt;span style="color: purple;"&gt;0&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt;&lt;span style="color: orangered;"&gt;$lineend&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;# set selection to the end of the editor&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Select&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$lineCount&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: orangered;"&gt;$lineend&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: orangered;"&gt;$lineCount&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: orangered;"&gt;$lineend&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$editor&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;InsertText&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$text&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can load this into an ISE editor and run it using F5. You see the line your code goes here added at the end.&lt;br /&gt;&lt;br /&gt;Bernd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-914363061729104098?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/914363061729104098/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/11/sqlpsx-release-23-is-real-tool-for-sql.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/914363061729104098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/914363061729104098'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/11/sqlpsx-release-23-is-real-tool-for-sql.html' title='SQLPSX Release 2.3 is real tool for SQL-Server'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-2088505280459235621</id><published>2010-05-28T00:09:00.000-07:00</published><updated>2010-05-28T00:09:05.758-07:00</updated><title type='text'>A Problem with Remove-Item $folder -recurse -force</title><content type='html'>I'm working with some testsenario, where I have repeatedly to remove a folder structure of about 3500 files of depth 8.&lt;br /&gt;&lt;br /&gt;Remove-Item $folder -recurse -force&lt;br /&gt;&lt;br /&gt;sometimes does not remove all the files. In some cases it yields the message, that a folder can't be deleted, because it is not empty, but when checking the folder is empty. In other not all files are removed.&lt;br /&gt;&lt;br /&gt;To reach a clean state, I wrote the following script:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color: darkblue;"&gt;function&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Remove-ItemRecursiveBruteForce&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;param&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgrey;"&gt;[&lt;/span&gt;&lt;span style="color: lightblue;"&gt;Parameter&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;Position&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: purple;"&gt;0&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: black;"&gt;Mandatory&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;=&lt;/span&gt;&lt;span style="color: orangered;"&gt;$true&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: black;"&gt;ValueFromPipeline&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;=&lt;/span&gt;&lt;span style="color: orangered;"&gt;$false&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;]&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: teal;"&gt;[string]&lt;/span&gt;&lt;span style="color: orangered;"&gt;$folder&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgrey;"&gt;[&lt;/span&gt;&lt;span style="color: lightblue;"&gt;Parameter&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;Position&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: black;"&gt;Mandatory&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;=&lt;/span&gt;&lt;span style="color: orangered;"&gt;$False&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt; &lt;span style="color: black;"&gt;ValueFromPipeline&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;=&lt;/span&gt;&lt;span style="color: orangered;"&gt;$false&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;]&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$maxiterations&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: purple;"&gt;20&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$iteration&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: purple;"&gt;0&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;while&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&amp;nbsp; &lt;span style="color: orangered;"&gt;$iteration&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;++&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;-lt&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$maxiterations&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;if&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;Test-Path&lt;/span&gt; &lt;span style="color: orangered;"&gt;$folder&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;Remove-Item&lt;/span&gt; &lt;span style="color: orangered;"&gt;$folder&lt;/span&gt; &lt;span style="color: navy;"&gt;-recurse&lt;/span&gt; &lt;span style="color: navy;"&gt;-force&lt;/span&gt; &lt;span style="color: navy;"&gt;-EA&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;SilentlyContinue&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;else&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkred;"&gt;"$folder deleted in $iteration iterations"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;break&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;if&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;Test-Path&lt;/span&gt; &lt;span style="color: orangered;"&gt;$folder&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkred;"&gt;"$folder not empty after $iteration iterations"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I observe that it needs randomly between 2 and 11 iterations to remove my folder.&lt;br /&gt;&lt;br /&gt;I'm using W7-32 bit and use PowerShell-ISE to run the script.&lt;br /&gt;&lt;br /&gt;Is this problem just me, or is it OS specific. Any explanations?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-2088505280459235621?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/2088505280459235621/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/05/problem-with-remove-item-folder-recurse.html#comment-form' title='2 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/2088505280459235621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/2088505280459235621'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/05/problem-with-remove-item-folder-recurse.html' title='A Problem with Remove-Item $folder -recurse -force'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-6659111039449601865</id><published>2010-05-19T01:12:00.000-07:00</published><updated>2010-05-19T01:12:35.553-07:00</updated><title type='text'>1. Attemp to use .NET isolated storage with modeless WPK windows</title><content type='html'>&amp;nbsp; &lt;br /&gt;&lt;br /&gt;The following attempt is not working with modeless windows (replace -show #-asjob&amp;nbsp;&amp;nbsp;&amp;nbsp; by -asjob). Using -show it works. Please run the code, do some selection within GUI, finally call&amp;nbsp; Get-value to check the result.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color: blue;"&gt;ipmo&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;WPK&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;"auto"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: darkblue;"&gt;function&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;action&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;param&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$value&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$value&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$changedProperty&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$value&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;Write-Host&lt;/span&gt; &lt;span style="color: darkred;"&gt;"Value of $changedProperty changed to $value"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;try&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$useriStorage&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: teal;"&gt;[System.IO.IsolatedStorage.IsolatedStorageFile]&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;::&lt;/span&gt;&lt;span style="color: black;"&gt;GetUserStoreForAssembly&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$file&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: blue;"&gt;New-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;System.IO.IsolatedStorage.IsolatedStorageFileStream&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: darkred;"&gt;"SQLSettigs.xml"&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt;&lt;span style="color: teal;"&gt;[System.IO.FileMode]&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;::&lt;/span&gt;&lt;span style="color: black;"&gt;Create&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt;&lt;span style="color: orangered;"&gt;$useriStorage&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$xml&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: blue;"&gt;New-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;System.Xml.Serialization.XmlSerializer&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$changedProperty&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;GetType&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$xml&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Serialize&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$file&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt;&lt;span style="color: orangered;"&gt;$changedProperty&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$file&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Close&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$useriStorage&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Close&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;catch&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;'error'&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: blue;"&gt;New-StackPanel&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"auto"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-IsChecked&lt;/span&gt; &lt;span style="color: orangered;"&gt;$True&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: blue;"&gt;action&lt;/span&gt; &lt;span style="color: darkred;"&gt;"auto"&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"list"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: blue;"&gt;action&lt;/span&gt; &lt;span style="color: darkred;"&gt;"list"&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"table"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: blue;"&gt;action&lt;/span&gt; &lt;span style="color: darkred;"&gt;"table"&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"grid"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: blue;"&gt;action&lt;/span&gt; &lt;span style="color: darkred;"&gt;"grid"&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"variable"&lt;/span&gt; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: blue;"&gt;action&lt;/span&gt; &lt;span style="color: darkred;"&gt;"variable"&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"csv"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: blue;"&gt;action&lt;/span&gt; &lt;span style="color: darkred;"&gt;"csv"&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"file"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: blue;"&gt;action&lt;/span&gt; &lt;span style="color: darkred;"&gt;"file"&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt; &lt;span style="color: navy;"&gt;-show&lt;/span&gt; &lt;span style="color: darkgreen;"&gt;#-asjob&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: darkblue;"&gt;function&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Get-value&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$useriStorage&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: teal;"&gt;[System.IO.IsolatedStorage.IsolatedStorageFile]&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;::&lt;/span&gt;&lt;span style="color: black;"&gt;GetUserStoreForAssembly&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;try&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$file&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: blue;"&gt;New-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;System.IO.IsolatedStorage.IsolatedStorageFileStream&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: darkred;"&gt;"SQLSettigs.xml"&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt;&lt;span style="color: teal;"&gt;[System.IO.FileMode]&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;::&lt;/span&gt;&lt;span style="color: black;"&gt;Open&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;,&lt;/span&gt;&lt;span style="color: orangered;"&gt;$useriStorage&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;catch&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;Write-Host&lt;/span&gt; &lt;span style="color: darkred;"&gt;"UISettings.xml is not found"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkblue;"&gt;return&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$xmlReader&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: blue;"&gt;New-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;System.Xml.XmlTextReader&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$file&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$xml&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: blue;"&gt;New-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;System.Xml.Serialization.XmlSerializer&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: darkred;"&gt;'abc'&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;GetType&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$newISEOptions&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$xml&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Deserialize&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: orangered;"&gt;$xmlReader&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: orangered;"&gt;$newISEOptions&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-6659111039449601865?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/6659111039449601865/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/05/1-attemp-to-use-net-isolated-storage.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6659111039449601865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6659111039449601865'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/05/1-attemp-to-use-net-isolated-storage.html' title='1. Attemp to use .NET isolated storage with modeless WPK windows'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-5399364515362617765</id><published>2010-05-16T08:03:00.000-07:00</published><updated>2010-05-16T08:03:28.294-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='Sendkey'/><category scheme='http://www.blogger.com/atom/ns#' term='WPK'/><title type='text'>Please help - I want to send back a keystroke to the ISE window</title><content type='html'>Hello WPF friends, I need a little help. I want to add a button which sends F7 keystroke to the ISE-window from which I run this little WPK script.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color: blue;"&gt;ipmo&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;WPK&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;"auto"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: blue;"&gt;New-StackPanel&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"auto"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-IsChecked&lt;/span&gt; &lt;span style="color: orangered;"&gt;$True&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;"auto"&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"list"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;"list"&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"table"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;"table"&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"grid"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;"grid"&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"variable"&lt;/span&gt; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;"variable"&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"csv"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;"csv"&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"file"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;"file"&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;New-Button&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"execute Sql"&lt;/span&gt;&amp;nbsp; &lt;span style="color: navy;"&gt;-On_click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt; &lt;span style="color: blue;"&gt;New-Button&lt;/span&gt; &lt;span style="color: darkred;"&gt;"I want to send F7 key-stroke to calling ISE"&lt;/span&gt; &lt;span style="color: navy;"&gt;-show&lt;/span&gt; &lt;span style="color: black;"&gt;}&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt; &lt;span style="color: navy;"&gt;-asjob&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/pre&gt;&lt;br /&gt;This script is intended to be run in ISE and to add some cool GUI to SQLPSX.&lt;br /&gt;&lt;br /&gt;Thanks&lt;br /&gt;&lt;br /&gt;Bernd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-5399364515362617765?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/5399364515362617765/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/05/please-help-i-want-to-send-back.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/5399364515362617765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/5399364515362617765'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/05/please-help-i-want-to-send-back.html' title='Please help - I want to send back a keystroke to the ISE window'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-6192839928909910848</id><published>2010-05-12T11:54:00.000-07:00</published><updated>2010-05-12T11:54:32.411-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Modeless Window'/><category scheme='http://www.blogger.com/atom/ns#' term='WPK'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerBoots'/><title type='text'>A try in WPK (one way and only once)</title><content type='html'>The best I found in WPK seems to be the the following:&lt;br /&gt;&lt;br /&gt;&lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color: blue;"&gt;ipmo&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;WPK&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style="color: orangered;"&gt;$option&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;"To File"&lt;/span&gt; &lt;span style="color: darkgreen;"&gt;# this value might be prompted by the user&lt;/span&gt;            &lt;br /&gt;             &lt;br /&gt;             &lt;br /&gt;&lt;span style="color: blue;"&gt;New-StackPanel&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"To Text"&lt;/span&gt; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-IsChecked&lt;/span&gt; &lt;span style="color: orangered;"&gt;$True&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt;             &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$Resource&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Result&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;"To Text"&lt;/span&gt;             &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$info&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$window&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;Get-ChildControl&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;info&lt;/span&gt;            &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$info&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;text&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$Resource&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Result&lt;/span&gt;            &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$Resource&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Result&lt;/span&gt;            &lt;br /&gt;        &lt;span style="color: black;"&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"To Grid"&lt;/span&gt; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt;              &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$Resource&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Result&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;"To Grid"&lt;/span&gt;             &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$info&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$window&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;Get-ChildControl&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;info&lt;/span&gt;            &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$info&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;text&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$Resource&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Result&lt;/span&gt;            &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$Resource&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Result&lt;/span&gt;            &lt;br /&gt;        &lt;span style="color: black;"&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"To File"&lt;/span&gt; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt;              &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$Resource&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Result&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;"To File"&lt;/span&gt;             &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$info&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$window&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;Get-ChildControl&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;info&lt;/span&gt;            &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$info&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;text&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$Resource&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Result&lt;/span&gt;            &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$Resource&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Result&lt;/span&gt;            &lt;br /&gt;    &lt;span style="color: black;"&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style="color: blue;"&gt;New-RadioButton&lt;/span&gt; &lt;span style="color: navy;"&gt;-Content&lt;/span&gt; &lt;span style="color: darkred;"&gt;"To CSV"&lt;/span&gt; &lt;span style="color: navy;"&gt;-GroupName&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Results&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Click&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt;              &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$Resource&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Result&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: darkred;"&gt;"To CSV"&lt;/span&gt;             &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$info&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$window&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;Get-ChildControl&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;info&lt;/span&gt;            &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$info&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;text&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$Resource&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Result&lt;/span&gt;            &lt;br /&gt;        &lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$Resource&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Result&lt;/span&gt;            &lt;br /&gt;    &lt;span style="color: black;"&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style="color: blue;"&gt;New-textBox&lt;/span&gt; &lt;span style="color: navy;"&gt;-Name&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;info&lt;/span&gt;             &lt;br /&gt;    &lt;span style="color: black;"&gt;}&lt;/span&gt; &lt;span style="color: navy;"&gt;-On_Loaded&lt;/span&gt; &lt;span style="color: black;"&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style="color: orangered;"&gt;$info&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$window&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;Get-ChildControl&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;info&lt;/span&gt;            &lt;br /&gt;            &lt;span style="color: orangered;"&gt;$info&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;text&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$Resource&lt;/span&gt;&lt;span style="color: darkgrey;"&gt;.&lt;/span&gt;&lt;span style="color: black;"&gt;Result&lt;/span&gt;            &lt;br /&gt;    &lt;span style="color: black;"&gt;}&lt;/span&gt;&lt;span style="color: navy;"&gt;-asjob&lt;/span&gt; &lt;span style="color: navy;"&gt;-resource&lt;/span&gt; &lt;span style="color: black;"&gt;@{&lt;/span&gt;&lt;span style="color: black;"&gt;Result&lt;/span&gt; &lt;span style="color: darkgrey;"&gt;=&lt;/span&gt; &lt;span style="color: orangered;"&gt;$option&lt;/span&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I can modify the value within GUI and query it outside&lt;br /&gt;&lt;br /&gt;&lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color: orangered;"&gt;$env:WPKResult&lt;/span&gt;&lt;/pre&gt;&lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color: orangered;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;I misuse the processes environment, which is shared between the runspaces. Hmm better than pidgeon carrying USB sticks, but it is restricted to strings.&lt;br /&gt;&lt;br /&gt;I guess I have to really dive into PowerBoots&amp;nbsp; (and that is the polite version ;-) of my opinion about WPK)&lt;br /&gt;&lt;br /&gt;Have some fun trying to find further work arounds.&lt;br /&gt;&lt;br /&gt;Bernd&lt;br /&gt;&lt;br /&gt;&lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color: orangered;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color: orangered;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color: orangered;"&gt; &lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-6192839928909910848?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/6192839928909910848/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/05/try-in-wpk-one-way-and-only-once.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6192839928909910848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6192839928909910848'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/05/try-in-wpk-one-way-and-only-once.html' title='A try in WPK (one way and only once)'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-7951275655660508704</id><published>2010-05-12T10:04:00.000-07:00</published><updated>2010-05-12T10:04:04.902-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPK'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerBoots'/><title type='text'>A small Async PowerBootsWindow</title><content type='html'>Hello,&lt;br /&gt;here I'll show a little async PowerBoots Gui, which is able to modify variables in the main thread. &lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#0000ff'&gt;ipmo&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;PowerBoots&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$options&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Results"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"To Text"&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;             &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Boots&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;             &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;StackPanel&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#0000ff'&gt;RadioButton&lt;/span&gt; &lt;span style='color:#000080'&gt;-Content&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"To Text"&lt;/span&gt; &lt;span style='color:#000080'&gt;-GroupName&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Results&lt;/span&gt; &lt;span style='color:#000080'&gt;-IsChecked&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$True&lt;/span&gt; &lt;span style='color:#000080'&gt;-On_Click&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$options&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Results&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"To Text"&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#0000ff'&gt;RadioButton&lt;/span&gt; &lt;span style='color:#000080'&gt;-Content&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"To Grid"&lt;/span&gt; &lt;span style='color:#000080'&gt;-GroupName&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Results&lt;/span&gt; &lt;span style='color:#000080'&gt;-On_Click&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;  &lt;span style='color:#ff4500'&gt;$options&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Results&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"To Grid"&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#0000ff'&gt;RadioButton&lt;/span&gt; &lt;span style='color:#000080'&gt;-Content&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"To File"&lt;/span&gt; &lt;span style='color:#000080'&gt;-GroupName&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Results&lt;/span&gt; &lt;span style='color:#000080'&gt;-On_Click&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;  &lt;span style='color:#ff4500'&gt;$options&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Results&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"To File"&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#0000ff'&gt;RadioButton&lt;/span&gt; &lt;span style='color:#000080'&gt;-Content&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"To CSV"&lt;/span&gt; &lt;span style='color:#000080'&gt;-GroupName&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Results&lt;/span&gt; &lt;span style='color:#000080'&gt;-On_Click&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;  &lt;span style='color:#ff4500'&gt;$options&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Results&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"To CSV"&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;      &lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#000080'&gt;-async&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Is it possible to do the same thing with WPK?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-7951275655660508704?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/7951275655660508704/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/05/small-async-powerbootswindow.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/7951275655660508704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/7951275655660508704'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/05/small-async-powerbootswindow.html' title='A small Async PowerBootsWindow'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-7038117355703449173</id><published>2010-05-12T00:15:00.000-07:00</published><updated>2010-05-12T00:15:24.637-07:00</updated><title type='text'>A viewer for Crystal Reports with PowerShell (partially working)</title><content type='html'>Hello,&lt;br /&gt;this time I tried to build a small Report Viewer using the components from Visual Studio 2008 with PowerShell. It shows that using PowerShell here makes some things rather easy.&lt;br /&gt;&lt;br /&gt;I'm using this to display old Reports made with Crystal Reports 8.5 using ODBC Datasources to SQL-Server.&lt;br /&gt;&lt;br /&gt;Reports based on views works fine, I can set database and formulars.&lt;br /&gt;&lt;br /&gt;But I have still a problem with reports based on stored procedures. Setting $table.location doesn't work anymore as in the past. I go the error table not found. Any hints welcome. &lt;br /&gt;&lt;br /&gt;And here is the code if you want to try something like this:&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#00008b'&gt;Function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Show-CrystalReport&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;param&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$reportPath&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$servername&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$databasename&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$userId&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$password&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$RecordSelectionFormula&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$formulas&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$parameters&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                    &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#008080'&gt;[reflection.assembly]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;::&lt;/span&gt;&lt;span style='color:#000000'&gt;LoadWithPartialName&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#8b0000'&gt;'CrystalDecisions.Shared'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#008080'&gt;[reflection.assembly]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;::&lt;/span&gt;&lt;span style='color:#000000'&gt;LoadWithPartialName&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#8b0000'&gt;'CrystalDecisions.CrystalReports.Engine'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#008080'&gt;[reflection.assembly]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;::&lt;/span&gt;&lt;span style='color:#000000'&gt;LoadWithPartialName&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#8b0000'&gt;'CrystalDecisions.Windows.Forms'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$report&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;New-Object&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;CrystalDecisions.CrystalReports.Engine.ReportDocument&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$report&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;load&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$reportPath&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$report&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ParameterFields&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;%&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$parameters&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;keys&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-contains&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Name&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$report&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;SetParameterValue&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Name&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$parameters&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Name&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;     &lt;span style='color:#000000'&gt;}&lt;/span&gt;               &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$report&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;DataDefinition&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;FormulaFields&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;%&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$formulas&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;keys&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-contains&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Name&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Text&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$formulas&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Name&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$RecordSelectionFormula&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$report&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;RecordSelectionFormula&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$RecordSelectionFormula&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;foreach&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$Table&lt;/span&gt; &lt;span style='color:#00008b'&gt;in&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$report&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Database&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Tables&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$table&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$tli&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$Table&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;LogonInfo&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$li&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$tli&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ConnectionInfo&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#0000ff'&gt;Write-host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"location : $($table.location)"&lt;/span&gt;            &lt;br /&gt;                    &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$li&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ServerName&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$servername&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$li&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;DatabaseName&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$databasename&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$li&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;UserID&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$userId&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$li&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Password&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$password&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$Table&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ApplyLogOnInfo&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$tli&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#006400'&gt;# the following doesn't work as in the past&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$table&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;location&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-contains&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'.'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$table&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;location&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-match&lt;/span&gt;  &lt;span style='color:#8b0000'&gt;'(.*)\.(.*)'&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$table&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;location&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"$($databasename).dbo.$($matches[2])"&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$table&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;location&lt;/span&gt;             &lt;br /&gt;                   &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$rv&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;New-Object&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;CrystalDecisions.Windows.Forms.CrystalReportViewer&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$rv&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ReportSource&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$report&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$rv&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Dock&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#008080'&gt;[System.Windows.Forms.DockStyle]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;::&lt;/span&gt;&lt;span style='color:#000000'&gt;Fill&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$form&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;New-Object&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Windows.Forms.Form&lt;/span&gt;            &lt;br /&gt;                 &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$form&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Height&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#800080'&gt;810&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$form&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Width&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#800080'&gt;1210&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$form&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Controls&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Add&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$rv&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$rv&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Show&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$form&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ShowDialog&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$rv&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Dispose&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$report&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Dispose&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$form&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Dispose&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-7038117355703449173?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/7038117355703449173/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/05/viewer-for-crystal-reports-with.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/7038117355703449173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/7038117355703449173'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/05/viewer-for-crystal-reports-with.html' title='A viewer for Crystal Reports with PowerShell (partially working)'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-3458936728328669950</id><published>2010-04-24T04:03:00.000-07:00</published><updated>2010-04-24T07:30:07.113-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='WPK'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerBoots'/><title type='text'>WPF Linkcollection for PowerShell</title><content type='html'>During the last time I played with some ways to present GUI from PowerShell. I spend some time collection links, which I want to share now.&lt;br /&gt;&lt;br /&gt;First there are two toolkits between you can select.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.msdn.microsoft.com/PowerShellPack"&gt;WPK which is part of PowerShellPack&lt;/a&gt; and &lt;a href="http://powerboots.codeplex.com/"&gt;Powerboots&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;WPK is created by &lt;a href="http://blogs.msdn.com/mediaandmicrocode/"&gt;James brundage&lt;/a&gt;&lt;br /&gt;and it comes with some examples in the &lt;span style="font-weight:bold;"&gt;Modules\WPK\Examples&lt;/span&gt; folder.&lt;br /&gt;&lt;br /&gt;Videos:&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/philpenn/Windows-PowerShell--A-Brief-Introduction-to-using-WPF-Containers-in-WPK/"&gt;A Brief Introduction to using WPF-Containers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/LarryLarsen/Multitouch-Fingerpaint-in-30-Lines-of-PowerShell-Script/"&gt;Multitouch Fingerpaint in 30 Lines of PowerShell Script&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some blog postings:&lt;br /&gt;&lt;a href="http://blogs.technet.com/heyscriptingguy/archive/2010/03/24/hey-scripting-guy-march-24-2010.aspx"&gt;Hey, Scripting Guy! Using the Windows Presentation Foundation PowerShell Kit to Create a GUI&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dougfinke.com/blog/index.php/2009/10/18/powershell-picture-viewer-using-wpf-and-wpk/"&gt;PowerShell Picture Viewer using WPF and WPK&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/mediaandmicrocode/archive/2009/12/28/write-progress-wpk.aspx"&gt;Write-Progress &amp;amp; WPK&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/mediaandmicrocode/archive/2009/12/09/test-spelling.aspx"&gt;Test-Spelling&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Projects using WPK:&lt;br /&gt;&lt;a href="http://sqlpsx.codeplex.com/"&gt;SQLPSX&lt;/a&gt;&lt;br /&gt;&lt;a href="http://trypowershell.codeplex.com/"&gt;Try PowerShell (currently only in source not released)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PowerBoots is created by &lt;a href="http://huddledmasses.org/"&gt;Joel Bennett (Jaykul) of HuddledMasses.org&lt;/a&gt;&lt;br /&gt;and when installed, you find the examples in ...\Modules\PowerBoots\Samples\Samples.ps1&lt;br /&gt;&lt;br /&gt;Some Blogs about it:&lt;br /&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2009/06/18/powerboots-0-2-is-now-available.aspx"&gt;PowerBoots 0.2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dougfinke.com/blog/index.php/2009/10/18/powershell-picture-viewer-using-wpf-and-wpk/"&gt;PowerShell Picture Viewer using PowerBoots&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://huddledmasses.org/tag/wpf/"&gt;Jaykuls tagged WPF&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://huddledmasses.org/wpf-in-powershell-powerboots-02/ "&gt;Posts Tagged ‘WPF’&lt;/a&gt;&lt;br /&gt;&lt;a href="http://huddledmasses.org/powerboots-tutorial-walkthrough"&gt;PowerBoots: The tutorial walkthrough&lt;/a&gt;&lt;br /&gt;&lt;a href="http://huddledmasses.org/powerboots-loading-xaml-windows-in-powershell-10-or-20/"&gt;PowerBoots: Loading XAML Windows in PowerShell 1.0 or 2.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Creating GUI with Powershell and WPF was possible without the aid of toolkits, even in the dark adges of CTP 2 and CTP 3. Code from that early time needs to be adopted to run today, but for the curious, you find interessting stuff in it too.&lt;br /&gt;Thanks to  &lt;a href="http://max-pit.spaces.live.com/blog/cns!A034D6A0DDC4E64E!1048.entry?sa=78780462"&gt;Max Trinidad&lt;/a&gt; for his post containing a link to the old trasures.&lt;br /&gt;&lt;br /&gt;and here is th eearly serie from James Brundage:&lt;br /&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2008/05/22/wpf-powershell-part-1-hello-world-welcome-to-the-week-of-wpf.aspx"&gt;Part 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2008/05/23/wpf-powershell-part-2-exploring-wpf-and-the-rest-of-net-with-scripts.aspx"&gt;Part 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2008/05/24/wpf-powershell-part-3-handling-events.aspx"&gt;Part 3&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2008/05/25/wpf-powershell-part-4-xaml-show-control.aspx"&gt;Part 4&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2008/05/26/wpf-powershell-part-5-using-wpf-powershell-modules.aspx"&gt;Part 5&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2008/05/27/wpf-powershell-part-6-running-functions-in-the-background.aspx"&gt;Part 6&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2008/05/28/wpf-powershell-part-7-sharing-hosts.aspx"&gt;Part 7&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To make the examples run in PowerShell V2 you need help from the following posts&lt;br /&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2008/12/24/windows-powershell-ctp2-to-ctp3-conversion-guide.aspx"&gt;Windows PowerShell CTP2 to CTP3 Conversion Guide by James Brundage&lt;/a&gt; &lt;br /&gt;&lt;a href="http://www.nivot.org/2008/12/23/PowerShell20CTP3HasArrived.aspx"&gt;PowerShell 2.0 CTP3 has arrived! by Oisin Grehan&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/tags/WPF/default.aspx"&gt;Look for WPF tag in PowerShell Team Blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;finally you may want to look at some general WPF links &lt;br /&gt;&lt;a href="http://wpftutorial.net/Home.html"&gt;WPF Tutorial by Christian Mosers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/pleloup/archive/2007/05/22/wpf-and-xaml-tutorials.aspx"&gt;WPF and XAML Tutorials by Josh Smith&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now have some fun, exploring WPF by yourself.&lt;br /&gt;&lt;br /&gt;Bernd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-3458936728328669950?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/3458936728328669950/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/04/wpf-linkcollection-for-powershell.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/3458936728328669950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/3458936728328669950'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/04/wpf-linkcollection-for-powershell.html' title='WPF Linkcollection for PowerShell'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-6107444125174089408</id><published>2010-04-02T01:26:00.000-07:00</published><updated>2010-04-02T01:51:49.369-07:00</updated><title type='text'>PowerShell modules are funny guys (III)</title><content type='html'>Today I continue to write about some advanced features, you only touch when you are importing some modules and than to remove some of them again.&lt;br /&gt;&lt;br /&gt;To demonstate I create two modules, the first to be used as submodule by the second. I call it mod_s&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#ff4500'&gt;$script:state_s&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Write-host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Executing mod_s"&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$mInfo&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$MyInvocation&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;MyCommand&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ScriptBlock&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Module&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$mInfo&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;OnRemove&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Write-Host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Removing module mod_s"&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Get-State&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;return&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$script:state_s&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Set-State&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$x&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$script:state_s&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$x&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Set-ModSUnremovable&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$mInfo&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$MyInvocation&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;MyCommand&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ScriptBlock&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Module&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$mInfo&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;AccessMode&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"readonly"&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Set-ModSremovable&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$mInfo&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$MyInvocation&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;MyCommand&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ScriptBlock&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Module&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$mInfo&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;AccessMode&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"ReadWrite"&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Se second is used to import this module, I call it mod_a:&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#0000ff'&gt;Write-host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Executing mod_a"&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Import-Module&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;mod_s.psm1&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Write-host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Old state $(Get-state)"&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Set-state&lt;/span&gt; &lt;span style='color:#800080'&gt;11&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Get-StateA&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;return&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-State&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Set-StateA&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$x&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;Set-State&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$x&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now let us see what happens, when I first import mod_s and than mod_a and finally remove mod_s&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;1]10:33:45  C:\Var\bin (FileSystem)&lt;br /&gt;ipmo mod_s&lt;br /&gt;Executing mod_s&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[2]10:33:50  C:\Var\bin (FileSystem)&lt;br /&gt;ipmo mod_a&lt;br /&gt;Executing mod_a&lt;br /&gt;Old state 0&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[3]10:33:57  C:\Var\bin (FileSystem)&lt;br /&gt;rmo mod_a&lt;br /&gt;Removing module mod_s&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[4]10:34:02  C:\Var\bin (FileSystem)&lt;br /&gt;gmo&lt;br /&gt;&lt;br /&gt;ModuleType Name                      ExportedCommands                                                   &lt;br /&gt;---------- ----                      ----------------                                                   &lt;br /&gt;Script     ISECreamBasic             {get-AvailableModuleList, Remove-IseMenu, Add-IseMenu}             &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[5]&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Let us remember, that mod_s is removed and the global reference to mod_s is removed.&lt;br /&gt;&lt;br /&gt;Next let us keep a referenc to mod_s before removing mod_a:&lt;br /&gt;&lt;blockquote&gt;[1]10:39:04  C:\Var\bin (FileSystem)&lt;br /&gt;ipmo mod_s&lt;br /&gt;Executing mod_s&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[2]10:40:52  C:\Var\bin (FileSystem)&lt;br /&gt;$a = gmo mod_s&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[3]10:40:58  C:\Var\bin (FileSystem)&lt;br /&gt;ipmo mod_a&lt;br /&gt;Executing mod_a&lt;br /&gt;Old state 0&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[4]10:41:03  C:\Var\bin (FileSystem)&lt;br /&gt;rmo mod_a&lt;br /&gt;Removing module mod_s&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[5]10:41:07  C:\Var\bin (FileSystem)&lt;br /&gt;$a&lt;br /&gt;&lt;br /&gt;ModuleType Name                      ExportedCommands                                                   &lt;br /&gt;---------- ----                      ----------------                                                   &lt;br /&gt;Script     mod_s                     {Set-ModSUnremovable, Set-State, Set-ModSremovable, Get-State}     &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[6]10:41:12  C:\Var\bin (FileSystem)&lt;br /&gt;gmo&lt;br /&gt;&lt;br /&gt;ModuleType Name                      ExportedCommands                                                   &lt;br /&gt;---------- ----                      ----------------                                                   &lt;br /&gt;Script     ISECreamBasic             {get-AvailableModuleList, Remove-IseMenu, Add-IseMenu}             &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[7]&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Here you see, that mod_s doesn't execute its termination code. I get the impression, that they use some sort of reference count to modules and when it drops down to 0. The module gets unloaded from memory.&lt;br /&gt;&lt;br /&gt;The fact that the reference to the global scope is removed, by removing a submodul makes it difficult to ensure that some modules are imported.&lt;br /&gt;&lt;br /&gt;Lets study &lt;a href="http://dotnetslackers.com/articles/net/Converting-a-PowerShell-Script-into-a-Module-part2.aspx"&gt;Bruce Payette&lt;/a&gt;. He has a section Controlling when modules can be unloaded.&lt;br /&gt;&lt;br /&gt;Let's try:&lt;br /&gt;&lt;blockquote&gt;[1]10:49:09  C:\Var\bin (FileSystem)&lt;br /&gt;ipmo mod_s&lt;br /&gt;Executing mod_s&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[2]10:49:15  C:\Var\bin (FileSystem)&lt;br /&gt;Set-ModSUnremovable&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[3]10:49:23  C:\Var\bin (FileSystem)&lt;br /&gt;Set-ModSremovable&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[4]10:49:30  C:\Var\bin (FileSystem)&lt;br /&gt;Set-ModSUnremovable&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[5]10:49:39  C:\Var\bin (FileSystem)&lt;br /&gt;ipmo mod_a&lt;br /&gt;Executing mod_a&lt;br /&gt;Old state 0&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[6]10:49:45  C:\Var\bin (FileSystem)&lt;br /&gt;rmo mod_a&lt;br /&gt;Remove-Module : Unable to remove module 'mod_s' because it is read-only. Use the -force flag to remove r&lt;br /&gt;ead-only modules.&lt;br /&gt;At line:1 char:4&lt;br /&gt;+ rmo &lt;&lt;&lt;&lt;  mod_a&lt;br /&gt;    + CategoryInfo          : PermissionDenied: (mod_s:PSModuleInfo) [Remove-Module], InvalidOperationE &lt;br /&gt;   xception&lt;br /&gt;    + FullyQualifiedErrorId : Modules_ModuleIsReadOnly,Microsoft.PowerShell.Commands.RemoveModuleComman &lt;br /&gt;   d&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[7]10:49:49  C:\Var\bin (FileSystem)&lt;br /&gt;Set-ModSremovable&lt;br /&gt;The term 'Set-ModSremovable' is not recognized as the name of a cmdlet, function, script file, or operab&lt;br /&gt;le program. Check the spelling of the name, or if a path was included, verify that the path is correct a&lt;br /&gt;nd try again.&lt;br /&gt;At line:1 char:18&lt;br /&gt;+ Set-ModSremovable &lt;&lt;&lt;&lt; &lt;br /&gt;    + CategoryInfo          : ObjectNotFound: (Set-ModSremovable:String) [], CommandNotFoundException&lt;br /&gt;    + FullyQualifiedErrorId : CommandNotFoundException&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;_____________________________________________________________________________________________________&lt;br /&gt;[8]&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Anyone not calling this a bug around ?&lt;br /&gt;&lt;br /&gt;Bernd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-6107444125174089408?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/6107444125174089408/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/04/powershell-modules-are-funny-guys-iii.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6107444125174089408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6107444125174089408'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/04/powershell-modules-are-funny-guys-iii.html' title='PowerShell modules are funny guys (III)'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-753482675165200434</id><published>2010-03-30T23:00:00.000-07:00</published><updated>2010-03-30T23:07:18.884-07:00</updated><title type='text'>PowerShell modules are funny guys (II)</title><content type='html'>Here I'll focus on the irritating feature. The following script creates 2 modules in your user modul folder.&lt;br /&gt;The second module imports the first module.&lt;br /&gt;&lt;br /&gt;Import the first module, then the second. Both modules are imported.&lt;br /&gt;Now remove the second module (that which imports the other too) and both are gone.&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#ff4500'&gt;$modpath1&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$env:PSModulepath&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-split&lt;/span&gt; &lt;span style='color:#8b0000'&gt;';'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#800080'&gt;0&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;mkdir&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;$modpath1\submod&lt;/span&gt; &lt;span style='color:#000080'&gt;-force&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;mkdir&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;$modpath1\testmod&lt;/span&gt; &lt;span style='color:#000080'&gt;-force&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#8b0000'&gt;@'&lt;br /&gt;$script:state_s = 0&lt;br /&gt;&lt;br /&gt;function Get-State&lt;br /&gt;{&lt;br /&gt;    return $script:state_s&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function Set-State ($x)&lt;br /&gt;{&lt;br /&gt;    $script:state_s = ($x)&lt;br /&gt;}&lt;br /&gt;'@&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;&gt;&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"$modpath1\submod\submod.psm1"&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#8b0000'&gt;@'&lt;br /&gt;Import-Module submod.psm1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function Get-StateY&lt;br /&gt;{&lt;br /&gt;    return Get-State&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function Set-StateY ($x)&lt;br /&gt;{&lt;br /&gt;    Set-State $x&lt;br /&gt;}&lt;br /&gt;'@&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;&gt;&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"$modpath1\testmod\testmod.psm1"&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;ipmo&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;submod&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;ipmo&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;testmod&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Write-host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'------------'&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;gmo&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Write-host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'------------'&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;rmo&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;testmod&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;gmo&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Do you agree, that is to be called a bug?&lt;br /&gt;&lt;br /&gt;Bernd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-753482675165200434?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/753482675165200434/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/03/powershell-modules-are-funny-guys-ii.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/753482675165200434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/753482675165200434'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/03/powershell-modules-are-funny-guys-ii.html' title='PowerShell modules are funny guys (II)'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-7513098361338699122</id><published>2010-03-29T02:51:00.000-07:00</published><updated>2010-03-29T03:48:20.057-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ISE-Cream'/><category scheme='http://www.blogger.com/atom/ns#' term='Modules'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='ISE'/><title type='text'>How to Organize Modules you Develop in  Projects</title><content type='html'>Today I want to tell about the ways I organise my modul development.&lt;br /&gt;&lt;br /&gt;When you start to develop PowerShell modules it is relative easy. Just add a folder under &lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Split-path&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$profile&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;+&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'\Modules'&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;say MyMod.&lt;br /&gt;Then put a file MyMod.psm1 into it&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#0000ff'&gt;Write-host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"mymod loaded"&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;When you type &lt;span style="font-weight:bold;"&gt;ipmo Mymod&lt;/span&gt;, which is the alias for Import-Module you get&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;mymod loaded&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;With &lt;span style="font-weight:bold;"&gt;rmo Mymod&lt;/span&gt; , which is the short for Remove-Module you get rid of your module.&lt;br /&gt;&lt;br /&gt;To check that it is removed, you can type &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;gmo&lt;/span&gt;  or &lt;span style="font-weight:bold;"&gt;gmo Mymod&lt;/span&gt;, which is the alias for Get-Module&lt;br /&gt;&lt;br /&gt;Now you shouldn't see it anymore.&lt;br /&gt;&lt;br /&gt;Here I'm not going to tell you, what to put into your module file.&lt;br /&gt;&lt;br /&gt;Best link for this I know is this post from &lt;a href="http://dotnetslackers.com/articles/net/Converting-a-PowerShell-Script-into-a-Module.aspx"&gt;Bruce Payette&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;My focus here is, how to organise your system, when you have written something usefull and uploaded your module to some project.&lt;br /&gt;&lt;br /&gt;I guess that you checkout your module from the project to some place, which is not in your modules folders. To ckeck where your system searches for modules just type&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#ff4500'&gt;$env:PSModulePath&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-split&lt;/span&gt; &lt;span style='color:#8b0000'&gt;';'&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Next I tried to be clever. I put the following into my profile:&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#ff4500'&gt;$env:PSModulePath&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;+=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;";\D:\MysharedProject\modules"&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now I can load the modules from this project by simple calles of ipmo myModule.&lt;br /&gt;&lt;br /&gt;It really took some time to discover that I was too clever. &lt;br /&gt;&lt;br /&gt;I'm using ISE for nearly all my PowerShell task and some time ago I discovered the menu &lt;span style="font-weight:bold;"&gt;New PowerShell Tab&lt;/span&gt; with the short-cut CTRL+T.&lt;br /&gt;&lt;br /&gt;Each time you invoke this, you get a new PowerShell session and your PowerShell Profiles are executed. &lt;br /&gt;&lt;br /&gt;But all these PowerShell session live in your current Windows session and each time the PSModulePath variable of the Windows environment will be modified. It gets longer and longer.&lt;br /&gt;&lt;br /&gt;OK here now my final solution, this is the start of my profile.ps1&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#0000ff'&gt;write-host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"================== generall ($env:USERDOMAIN.$env:username) ==========================="&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$AdditionalModulPathes&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@(&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#8b0000'&gt;"D:\someProjectBleedingEdge\Modules"&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#8b0000'&gt;"D:\someProjectRelease\Modules"&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;# "D:\MyCopyOfSomeProject\Modules"&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;foreach&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$path&lt;/span&gt; &lt;span style='color:#00008b'&gt;in&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$AdditionalModulPathes&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-unique&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$env:PSModulePath&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-split&lt;/span&gt; &lt;span style='color:#8b0000'&gt;';'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-notcontains&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$path&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$env:PSModulePath&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;+=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;";"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;+&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$path&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;# $env:PSModulePath -split ';'&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now I modify the evironment only once. &lt;br /&gt;And here is the location, where I select whether I use the stable release, the current development version or my own unpublished work.&lt;br /&gt;&lt;br /&gt;I hope this give you some ideas.&lt;br /&gt;&lt;br /&gt;Bernd&lt;br /&gt;&lt;br /&gt;BTW: ISE-Cream has reached &lt;a href="http://psisecream.codeplex.com/releases/view/42680"&gt;release 0.1&lt;/a&gt; &lt;br /&gt;If you are thinking about extending ISE, take a look at it&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-7513098361338699122?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/7513098361338699122/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/03/how-to-organize-modules-you-develop-in.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/7513098361338699122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/7513098361338699122'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/03/how-to-organize-modules-you-develop-in.html' title='How to Organize Modules you Develop in  Projects'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-5769566351234962843</id><published>2010-03-25T03:19:00.000-07:00</published><updated>2010-03-25T03:44:21.149-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Remove-Module'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='ISE'/><title type='text'>PowerShell modules are funny guys</title><content type='html'>Ed Wilson says Windows PowerShell 1.0 was the vision, Windows PowerShell 2.0 is the reality  [ from the preface of LeeHolmes &lt;a href="http://powershell.labs.oreilly.com/pr01.html"&gt;Windows PowerShell Cookbook&lt;/a&gt;&lt;br /&gt;I dare say PowerShell 2.0 ISE and Modules are still a vision.&lt;br /&gt;&lt;br /&gt;When a module depends on a another module like SQLISE on ICECreamBasic or WPK it seems natural&lt;br /&gt;to use within the .psm1 file&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#0000ff'&gt;import-module&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;ISECreamBasic&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;import-module&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;SQLParser&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;import-module&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;adolib&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;import-module&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;WPK&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;When I write a second module OracleIse, I can do similar&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#0000ff'&gt;import-module&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;ISECreamBasic&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;import-module&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;OracleClient&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;import-module&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;WPK&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Seems OK so far.&lt;br /&gt;&lt;br /&gt;Next modules can be &lt;span style="font-weight:bold;"&gt;removed &lt;/span&gt;using Remove-module and that fires even an event to do some clean up as removing ISE addons menu items&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#ff4500'&gt;$mInfo&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$MyInvocation&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;MyCommand&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ScriptBlock&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Module&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$mInfo&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;OnRemove&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;Write-Host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"$($MyInvocation.MyCommand.ScriptBlock.Module.name) removed on $(Get-Date)"&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;Remove-IseMenu&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;OracleIse&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now emove on of these modules an see, which modules are left using&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#0000ff'&gt;get-module&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;You see, that the removed modul removed the modules imported within too, without tribute to the fact that the other module depends on WPK and ISECreamBasic too.&lt;br /&gt;&lt;br /&gt;Conclusion. Better do not use import-module to import module from within your modules. Import the needed modules in advance.&lt;br /&gt;&lt;br /&gt;Have some fun trying to find work arounds for this issue.&lt;br /&gt;&lt;br /&gt;Bernd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-5769566351234962843?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/5769566351234962843/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/03/powershell-modules-are-funny-guys.html#comment-form' title='2 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/5769566351234962843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/5769566351234962843'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/03/powershell-modules-are-funny-guys.html' title='PowerShell modules are funny guys'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-7118010798962153462</id><published>2010-03-25T02:50:00.000-07:00</published><updated>2010-03-25T03:02:26.437-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='ISE'/><category scheme='http://www.blogger.com/atom/ns#' term='advanced function'/><title type='text'>Removing a specific Item from a Powershell ISE Addon menu</title><content type='html'>&lt;span style="font-family: arial;"&gt;Well in ISECreamBasic I had written the function Remove-IseMenu to remove Toplevel menus.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Thanks to Shay Levi and Jaykul it became a nice advanced function with parametersets.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;You can find the code in the &lt;/span&gt;&lt;a style="font-family: arial;" href="http://psisecream.codeplex.com/SourceControl/changeset/view/41069#812074"&gt;ISE-Cream project&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Just when I finished writing the header comments Ravi wanted to use the function not restricted to toplevel menu items.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;First attemps tried to search the tree, but there can be more subitems with the same name hidden in the menu structure. To get it clear I designed the following function, which requires the complete path to the item to delete:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;pre class="'PowerShellColorizedScript'"&gt;&lt;span style="'color:#00008b'"&gt;function&lt;/span&gt; &lt;span style="'color:#8a2be2'"&gt;Remove-IseMenuItem&lt;/span&gt; &lt;span style="'color:#000000'"&gt;{&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;    &lt;span style="'color:#ff4500'"&gt;$submenu&lt;/span&gt; &lt;span style="'color:#a9a9a9'"&gt;=&lt;/span&gt; &lt;span style="'color:#ff4500'"&gt;$psise&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;.&lt;/span&gt;&lt;span style="'color:#000000'"&gt;CurrentPowerShellTab&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;.&lt;/span&gt;&lt;span style="'color:#000000'"&gt;AddOnsMenu&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;.&lt;/span&gt;&lt;span style="'color:#000000'"&gt;Submenus&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;    &lt;span style="'color:#00008b'"&gt;for&lt;/span&gt; &lt;span style="'color:#000000'"&gt;(&lt;/span&gt;&lt;span style="'color:#ff4500'"&gt;$j&lt;/span&gt; &lt;span style="'color:#a9a9a9'"&gt;=&lt;/span&gt; &lt;span style="'color:#800080'"&gt;0&lt;/span&gt;&lt;span style="'color:#000000'"&gt;;&lt;/span&gt; &lt;span style="'color:#ff4500'"&gt;$j&lt;/span&gt; &lt;span style="'color:#a9a9a9'"&gt;-lt&lt;/span&gt; &lt;span style="'color:#ff4500'"&gt;$args&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;.&lt;/span&gt;&lt;span style="'color:#000000'"&gt;count&lt;/span&gt;&lt;span style="'color:#000000'"&gt;;&lt;/span&gt; &lt;span style="'color:#ff4500'"&gt;$j&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;++&lt;/span&gt;&lt;span style="'color:#000000'"&gt;)&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;    &lt;span style="'color:#000000'"&gt;{&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;        &lt;span style="'color:#ff4500'"&gt;$name&lt;/span&gt; &lt;span style="'color:#a9a9a9'"&gt;=&lt;/span&gt; &lt;span style="'color:#ff4500'"&gt;$args&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;[&lt;/span&gt;&lt;span style="'color:#ff4500'"&gt;$j&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;]&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;        &lt;span style="'color:#ff4500'"&gt;$count&lt;/span&gt; &lt;span style="'color:#a9a9a9'"&gt;=&lt;/span&gt; &lt;span style="'color:#ff4500'"&gt;$submenu&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;.&lt;/span&gt;&lt;span style="'color:#000000'"&gt;count&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;        &lt;span style="'color:#006400'"&gt;#Write-host "arg0: $name $count"&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;        &lt;span style="'color:#00008b'"&gt;for&lt;/span&gt; &lt;span style="'color:#000000'"&gt;(&lt;/span&gt;&lt;span style="'color:#ff4500'"&gt;$i&lt;/span&gt; &lt;span style="'color:#a9a9a9'"&gt;=&lt;/span&gt; &lt;span style="'color:#800080'"&gt;0&lt;/span&gt;&lt;span style="'color:#000000'"&gt;;&lt;/span&gt; &lt;span style="'color:#ff4500'"&gt;$i&lt;/span&gt; &lt;span style="'color:#a9a9a9'"&gt;-lt&lt;/span&gt; &lt;span style="'color:#ff4500'"&gt;$submenu&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;.&lt;/span&gt;&lt;span style="'color:#000000'"&gt;count&lt;/span&gt;&lt;span style="'color:#000000'"&gt;;&lt;/span&gt; &lt;span style="'color:#ff4500'"&gt;$i&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;++&lt;/span&gt;&lt;span style="'color:#000000'"&gt;)&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;        &lt;span style="'color:#000000'"&gt;{&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;            &lt;span style="'color:#ff4500'"&gt;$found&lt;/span&gt; &lt;span style="'color:#a9a9a9'"&gt;=&lt;/span&gt; &lt;span style="'color:#ff4500'"&gt;$false&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;            &lt;span style="'color:#00008b'"&gt;if&lt;/span&gt; &lt;span style="'color:#000000'"&gt;(&lt;/span&gt;&lt;span style="'color:#ff4500'"&gt;$Submenu&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;[&lt;/span&gt;&lt;span style="'color:#ff4500'"&gt;$i&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;]&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;.&lt;/span&gt;&lt;span style="'color:#000000'"&gt;DisplayName&lt;/span&gt; &lt;span style="'color:#a9a9a9'"&gt;-eq&lt;/span&gt; &lt;span style="'color:#ff4500'"&gt;$name&lt;/span&gt;&lt;span style="'color:#000000'"&gt;)&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;            &lt;span style="'color:#000000'"&gt;{&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;                &lt;span style="'color:#006400'"&gt;#Write-host "found toplevel menu $name"&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;                &lt;span style="'color:#ff4500'"&gt;$found&lt;/span&gt; &lt;span style="'color:#a9a9a9'"&gt;=&lt;/span&gt; &lt;span style="'color:#ff4500'"&gt;$True&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;                &lt;span style="'color:#00008b'"&gt;if&lt;/span&gt; &lt;span style="'color:#000000'"&gt;(&lt;/span&gt; &lt;span style="'color:#ff4500'"&gt;$j&lt;/span&gt; &lt;span style="'color:#a9a9a9'"&gt;-eq&lt;/span&gt; &lt;span style="'color:#000000'"&gt;(&lt;/span&gt;&lt;span style="'color:#ff4500'"&gt;$args&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;.&lt;/span&gt;&lt;span style="'color:#000000'"&gt;count&lt;/span&gt; &lt;span style="'color:#a9a9a9'"&gt;-&lt;/span&gt; &lt;span style="'color:#800080'"&gt;1&lt;/span&gt;&lt;span style="'color:#000000'"&gt;)&lt;/span&gt;&lt;span style="'color:#000000'"&gt;)&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;                &lt;span style="'color:#000000'"&gt;{&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;                    &lt;span style="'color:#0000ff'"&gt;Write-host&lt;/span&gt; &lt;span style="'color:#8b0000'"&gt;'Removing'&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;                    &lt;span style="'color:#ff4500'"&gt;$null&lt;/span&gt; &lt;span style="'color:#a9a9a9'"&gt;=&lt;/span&gt; &lt;span style="'color:#ff4500'"&gt;$submenu&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;.&lt;/span&gt;&lt;span style="'color:#000000'"&gt;remove&lt;/span&gt;&lt;span style="'color:#000000'"&gt;(&lt;/span&gt;&lt;span style="'color:#ff4500'"&gt;$Submenu&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;[&lt;/span&gt;&lt;span style="'color:#ff4500'"&gt;$i&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;]&lt;/span&gt;&lt;span style="'color:#000000'"&gt;)&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;                &lt;span style="'color:#000000'"&gt;}&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;                &lt;span style="'color:#00008b'"&gt;else&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;                &lt;span style="'color:#000000'"&gt;{&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;                    &lt;span style="'color:#ff4500'"&gt;$submenu&lt;/span&gt; &lt;span style="'color:#a9a9a9'"&gt;=&lt;/span&gt;  &lt;span style="'color:#ff4500'"&gt;$Submenu&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;[&lt;/span&gt;&lt;span style="'color:#ff4500'"&gt;$i&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;]&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;.&lt;/span&gt;&lt;span style="'color:#000000'"&gt;submenus&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;                &lt;span style="'color:#000000'"&gt;}&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;                &lt;span style="'color:#00008b'"&gt;break&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;            &lt;span style="'color:#000000'"&gt;}&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;        &lt;span style="'color:#000000'"&gt;}&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;        &lt;span style="'color:#00008b'"&gt;if&lt;/span&gt; &lt;span style="'color:#000000'"&gt;(&lt;/span&gt;&lt;span style="'color:#a9a9a9'"&gt;!&lt;/span&gt; &lt;span style="'color:#ff4500'"&gt;$found&lt;/span&gt;&lt;span style="'color:#000000'"&gt;)&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;        &lt;span style="'color:#000000'"&gt;{&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;            &lt;span style="'color:#0000ff'"&gt;Write-host&lt;/span&gt; &lt;span style="'color:#8b0000'"&gt;"Menuitem  not found"&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;            &lt;span style="'color:#00008b'"&gt;break&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;        &lt;span style="'color:#000000'"&gt;}&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;                    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;    &lt;span style="'color:#000000'"&gt;}&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="'color:#000000'"&gt;}&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="'color:#0000ff'"&gt;Remove-IseMenuItem&lt;/span&gt; &lt;span style="'color:#8a2be2'"&gt;Edit&lt;/span&gt; &lt;span style="'color:#8a2be2'"&gt;Pad&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="'color:#006400'"&gt;#               Remove-Child  $Submenu[$i] $Name | out-null&lt;/span&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;/pre&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;But this looks like an old PowerShell V1 coding style. It doesn't check that all arguments are strings. Please can someone show me, how to set up a PowerShell V2 advanced function parameter declaration for this.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-7118010798962153462?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/7118010798962153462/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/03/removing-specific-item-from-powershell.html#comment-form' title='5 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/7118010798962153462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/7118010798962153462'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/03/removing-specific-item-from-powershell.html' title='Removing a specific Item from a Powershell ISE Addon menu'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-4631352250136742099</id><published>2010-03-14T07:19:00.000-07:00</published><updated>2010-03-14T08:13:40.931-07:00</updated><title type='text'>ISE and PowerShell Modules</title><content type='html'>&lt;span style="color: rgb(0, 0, 0); font-family: arial;font-family:arial;font-size:100%;"  &gt;The last days searched a bit the current links about PowerShell modules.&lt;br /&gt;&lt;br /&gt;There are the two new links by &lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-family: arial;font-family:'Times New Roman';font-size:100%;"  &gt;&lt;span class="Apple-style-span" style="color: rgb(119, 119, 119);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Bruce Payette&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dotnetslackers.com/articles/net/Converting-a-PowerShell-Script-into-a-Module.aspx%20http://dotnetslackers.com/articles/net/Converting-a-PowerShell-Script-into-a-Module-part2.aspx"&gt;http://dotnetslackers.com/articles/net/Converting-a-PowerShell-Script-into-a-Module.aspx&lt;br /&gt;&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/Converting-a-PowerShell-Script-into-a-Module-part2.aspx"&gt;http://dotnetslackers.com/articles/net/Converting-a-PowerShell-Script-into-a-Module-part2.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and in &lt;a href="http://code.msdn.microsoft.com/PowerShellPack"&gt;PowerShellPack&lt;/a&gt; there are lots of examples.&lt;br /&gt;&lt;br /&gt;When you have a script module, that is one with a &lt;modulename&gt;.psm1 file, it is easy to create a personal variant of it, be just copying it to a new folder within PSmodulePath and rename its &lt;/modulename&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-family: arial;font-family:'Times New Roman';font-size:100%;"  &gt;&lt;span class="Apple-style-span" style="color: rgb(119, 119, 119);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;modulename&gt;.psm1  file to correspond to the new foldername.&lt;br /&gt;&lt;br /&gt;There might be .psd1 and .ps1xml files which require similar and further adaptions. The modules I'm working on don't have them.&lt;br /&gt;&lt;br /&gt;But being modules that extend ISE, they use the addons menu and the current defacto standard to build such menus is the use of the Add-IseMenu from ISEpack.&lt;br /&gt;&lt;br /&gt;The original version from James Brundage has some shortcomings, but I succeeded in writing a compatible extension, which you find in &lt;a href="http://psisecream.codeplex.com/SourceControl/changeset/view/40682#798729"&gt;ISE-Cream&lt;/a&gt;. The main advantage, is that it only warns when shortcut keys are used and just builds the menu ignoring them.&lt;br /&gt;&lt;br /&gt;That makes it easy to copy a module, rename the top menu name in one of them and load them side by side.&lt;br /&gt;&lt;br /&gt;At first the menus look good, but when you try them, they seem to use the function from the last imported module.&lt;br /&gt;When 2 modules export the same function name, the name is rebound to the function from the last imported module. Usually menus call their functions just by name and do not hard weir the modulename into the call.&lt;br /&gt;In the end both menus call the functions from the last imported module.&lt;br /&gt;&lt;br /&gt;Of course you can take the risk and edit the modul into all function calls, but that is a lot of work and seems error phrone.&lt;br /&gt;Ignorant to the possibility to prefix the calls with the module name, I added a module parameter to the ICE-Cream version of Add-IseMenu, so that I have to set it at a single point.&lt;br /&gt;&lt;/modulename&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-family: arial;font-family:'Times New  Roman';font-size:100%;"  &gt;&lt;span class="Apple-style-span" style="color: rgb(119, 119, 119);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-family: arial;font-family:'Times New Roman';font-size:100%;"  &gt;&lt;span class="Apple-style-span" style="color: rgb(119, 119, 119);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;modulename&gt;Whenever I see the following code:&lt;br /&gt;&lt;/modulename&gt;&lt;/span&gt;&lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;import-module&lt;/span&gt; &lt;span style="color: rgb(138, 43, 226);"&gt;IsePack&lt;/span&gt;          &lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;I replace it with&lt;br /&gt;&lt;pre class="PowerShellColorizedScript"&gt;&lt;span style="color: rgb(0, 0, 139);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;!&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;test-path&lt;/span&gt; &lt;span style="color: rgb(138, 43, 226);"&gt;function:Add-IseMenu&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;import-module&lt;/span&gt; &lt;span style="color: rgb(138, 43, 226);"&gt;IsePack&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;          &lt;br /&gt;&lt;/pre&gt;Did I mention, that in the ISE-Cream version, you can predefine the order of the entries?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bernd&lt;br /&gt;&lt;br /&gt;PS:&lt;br /&gt;I noticed, that undersores in modulnames will not be displayed. Better don't use them&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-family: arial;font-family:'Times New Roman';font-size:100%;"  &gt;&lt;span class="Apple-style-span" style="color: rgb(119, 119, 119);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-4631352250136742099?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/4631352250136742099/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/03/ise-and-powershell-modules.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/4631352250136742099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/4631352250136742099'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/03/ise-and-powershell-modules.html' title='ISE and PowerShell Modules'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-4917624303979147029</id><published>2010-03-14T05:16:00.000-07:00</published><updated>2010-03-14T07:18:17.598-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORACLE'/><category scheme='http://www.blogger.com/atom/ns#' term='ISE-Cream'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='ISE'/><title type='text'>PauerSchell Bernd joined SQLPSX</title><content type='html'>Hello database and PowerShell folks,&lt;br /&gt;&lt;br /&gt;some days ago Chad Miller released &lt;a href="http://sqlpsx.codeplex.com/"&gt;SQLIse&lt;/a&gt; and soon afterwards Steven Murawski joined the SQLPSX project.&lt;br /&gt;&lt;br /&gt;From the SQLIse project you can learn a lot about using PowerShell modules and building GUI with WPK. SQLIse uses System.Data.SqlClient, that is Ado.NET to access databases.&lt;br /&gt;&lt;br /&gt;In the past I did some unpublished work using System.Data.OracleClient aka ODL on the database side.&lt;br /&gt;In the old CTP3 days I joined the PowerShell ISE-Cream project, which did suffer a bit by the incompatible changes, which came with the PowerShell V2 RTM version.&lt;br /&gt;&lt;br /&gt;But  motivated by the execellent postings of &lt;a href="http://www.ravichaganti.com/blog/?p=1025"&gt;Ravikanth Chaganti&lt;/a&gt;  about PowerShell remoting, we began to revive that project and I learned a lot about working with multiple tabs (= PowerShell Sessions) and tuning the addons-menu.&lt;br /&gt;&lt;br /&gt;Now I joined SQLPSX too.&lt;br /&gt;&lt;br /&gt;I'm going to add the Connect and Invoke-ExecuteSql functions adapted to Oracle the next days.&lt;br /&gt;&lt;br /&gt;The interface to procedure calls will take a bit longer as the coresponding SQL-Server functions aren't yet called by menu in the current version.&lt;br /&gt;&lt;br /&gt;And as far as I know there is nothing comparable to SMO for Oracle.&lt;br /&gt;&lt;br /&gt;One of the features I miss most on the current Oracle tools, is the fact, that they do help to display multiline fields in a wellformatted manner. Grid views tend to show only the first line and text views loose alignment. With PowerShell's Format-List cmdlet and Steves 'Result to variable' option, we can do better.&lt;br /&gt;&lt;br /&gt;That's for now database folks, I have to do some PowerShell basics.&lt;br /&gt;&lt;br /&gt;Bernd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-4917624303979147029?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/4917624303979147029/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/03/pauerschell-bernd-joined-sqlpsx.html#comment-form' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/4917624303979147029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/4917624303979147029'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/03/pauerschell-bernd-joined-sqlpsx.html' title='PauerSchell Bernd joined SQLPSX'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-3458510047020789673</id><published>2010-03-07T03:17:00.000-08:00</published><updated>2010-03-07T03:33:07.960-08:00</updated><title type='text'>PowerShell and Network Drives</title><content type='html'>Hello again,&lt;br /&gt;PSDrives behave something different then mapped network drives and until now I still used a cmd script to map and unmap network drives.&lt;br /&gt;&lt;br /&gt;But I just stumbled about some posts from &lt;a href="http://blogs.technet.com/heyscriptingguy/archive/2010/03/05/hey-scripting-guy-march-5-2010.aspx"&gt;The scripting guys&lt;/a&gt; and went back to &lt;a href="http://www.computerperformance.co.uk/ezine/ezine3.htm"&gt;Guy's Scripting Ezine 3 - Map Network Drive&lt;/a&gt;&lt;br /&gt; where is told how to do it in vbs.&lt;br /&gt;&lt;br /&gt;Finally I put it all together and translated it into the modern scripting language:&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;New-NetworkDrive&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;&lt;#&lt;br /&gt;.synopsis  &lt;br /&gt;    A function to create Networkdrives&lt;br /&gt;.Example&lt;br /&gt;    New-NetworkDrive 'x' '\\localhost\C$'&lt;br /&gt;.Example&lt;br /&gt;    New-NetworkDrive 'Y:' '\\localhost\C$\Windows'      &lt;br /&gt;#&gt;&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;Param&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#008080'&gt;[string]&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$Drive&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#008080'&gt;[string]&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$Unc&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$net&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;New-Object&lt;/span&gt; &lt;span style='color:#000080'&gt;-com&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;WScript.Network&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$Drive&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;length&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$Drive&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$Drive&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;+&lt;/span&gt;&lt;span style='color:#8b0000'&gt;':'&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"$Drive $UNC"&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$net&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;mapnetworkdrive&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$Drive&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$Unc&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# ToDo -- currently I don#t need it&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;#$net.mapnetworkdrive($Drive+ ':',$Unc, $bProfile, $User, $password)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Get-NetworkDrives&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;&lt;#&lt;br /&gt;.synopsis  &lt;br /&gt;    A function to list the currently mapped Networkdrives&lt;br /&gt;.Example&lt;br /&gt;    Get-NetworkDrives&lt;br /&gt;#&gt;&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$mappedDrives&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$net&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;New-Object&lt;/span&gt; &lt;span style='color:#000080'&gt;-com&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;WScript.Network&lt;/span&gt;             &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$a&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$net&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;EnumNetworkDrives&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$anz&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$a&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;count&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                &lt;br /&gt;    &lt;span style='color:#00008b'&gt;for&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$i&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$i&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-lt&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$anz&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$i&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$i&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;+&lt;/span&gt; &lt;span style='color:#800080'&gt;2&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$drive&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$a&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;item&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$i&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$path&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$a&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;item&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$i&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;+&lt;/span&gt;&lt;span style='color:#800080'&gt;1&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$mappedDrives&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$drive&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$path&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$mappedDrives&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Remove-NetworkDrive&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$Drive&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;&lt;#&lt;br /&gt;.synopsis  &lt;br /&gt;    A function to remove Networkdrives&lt;br /&gt;.Example&lt;br /&gt;    Remove-NetworkDrive X&lt;br /&gt;.Example&lt;br /&gt;    Remove-NetworkDrive Y:      &lt;br /&gt;#&gt;&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$net&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;New-Object&lt;/span&gt; &lt;span style='color:#000080'&gt;-com&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;WScript.Network&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$Drive&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;length&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$Drive&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;+=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;':'&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$net&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;removenetworkdrive&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$Drive&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;             &lt;br /&gt;&lt;span style='color:#006400'&gt;# see also&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;# http://www.computerperformance.co.uk/Logon/Logon_MapNetworkDrive.htm&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;# http://www.computerperformance.co.uk/Logon/LogonScript_enumnetworkdrives.htm#EnumNetworkDrives_Syntax&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;# http://www.computerperformance.co.uk/powershell/index.htm     &lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;# http://blogs.technet.com/heyscriptingguy/   &lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-3458510047020789673?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/3458510047020789673/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/03/powershell-and-network-drives.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/3458510047020789673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/3458510047020789673'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/03/powershell-and-network-drives.html' title='PowerShell and Network Drives'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-1424483753070934997</id><published>2010-02-15T08:22:00.000-08:00</published><updated>2010-02-16T03:17:32.082-08:00</updated><title type='text'>2nd improvement to Add-IseMenu</title><content type='html'>This time I further extend Add-IseMenu, so that I have control about the order of the items. This function is compatible to the original and has extended capacibilities. This version is prove of concept. I'm still working on it. &lt;br /&gt;&lt;br /&gt;BTW: Does anybody know how to embed seperators in ISE addon menu or has improvments to the code?&lt;br /&gt;&lt;br /&gt;Thanks in advance.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;code updated&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Add-IseMenu1&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;&lt;#&lt;br /&gt;    .Synopsis&lt;br /&gt;        Helper function to add menus to the ISE&lt;br /&gt;    .Description&lt;br /&gt;        Makes adding menus to the Windows PowerShell Integrated Scripting Environment (ISE)&lt;br /&gt;        easier.  Add-IseMenu accepts a hashtable of menus.  &lt;br /&gt;        Each key is the name of the menu.&lt;br /&gt;            Keys are automatically alphabetized, unless the &lt;br /&gt;        Each value can be one of three things:&lt;br /&gt;            - A Script Block&lt;br /&gt;                Selecting the menu item will run the script block&lt;br /&gt;            - A Hashtable&lt;br /&gt;                The value will be used to create a nested menu&lt;br /&gt;            - A Script Block with a note property of ShortcutKey&lt;br /&gt;                Selecting the menu item will run the script block.&lt;br /&gt;                The ShortcutKey will be used to assign a shortcut key to the item&lt;br /&gt;    .Example&lt;br /&gt;        Add-IseMenu -Name "Get" @{&lt;br /&gt;            "Process" = { Get-Process } &lt;br /&gt;            "Service" = { Get-Service } &lt;br /&gt;            "Hotfix" = {Get-Hotfix}&lt;br /&gt;        }&lt;br /&gt;    .Example&lt;br /&gt;        Add-IseMenu -Name "Verb" @{&lt;br /&gt;            Get = @{&lt;br /&gt;                Process = { Get-Process }&lt;br /&gt;                Service = { Get-Service } &lt;br /&gt;                Hotfix = { Get-Hotfix } &lt;br /&gt;            }&lt;br /&gt;            Import = @{&lt;br /&gt;                Module = { Import-Module } &lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    .Example&lt;br /&gt;        Add-IseMenu -Name "Favorites" @{&lt;br /&gt;            "Edit Profile" = { psedit $profile } | &lt;br /&gt;                Add-Member NoteProperty ShortcutKey "CTRL + E" -PassThru&lt;br /&gt;        }&lt;br /&gt;    #&gt;&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;param&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#006400'&gt;#The name of the menu to create &lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#add8e6'&gt;Parameter&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;Mandatory&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$true&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#008080'&gt;[String]&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$Name&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#006400'&gt;# The contents of the menu&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#add8e6'&gt;Parameter&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;Mandatory&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$true&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#008080'&gt;[Hashtable]&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$Menu&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#006400'&gt;# The root of the menu.  This is used automatically by Add-IseMenu when it &lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#006400'&gt;# creates nested menus.&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$Root&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#006400'&gt;# If PassThru is set, the menu items will be outputted to the pipeline&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#008080'&gt;[switch]&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$PassThru&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#006400'&gt;# If Merge is set, menu items will be merged with existing menus rather than&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#006400'&gt;# recreating the entire menu.&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#008080'&gt;[switch]&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$Merge&lt;/span&gt;                    &lt;br /&gt;    &lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;Set-StrictMode&lt;/span&gt; &lt;span style='color:#000080'&gt;-Off&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;-not&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psise&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#00008b'&gt;return&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;-not&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$root&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$root&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psise&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CustomMenu&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;-not&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$root&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$root&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psise&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentPowerShellTab&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;AddOnsMenu&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;-not&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$root&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$root&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psise&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CustomMenu&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;                &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$iseMenu&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$root&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Submenus&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Where-Object&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;DisplayName&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$name&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;-not&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$iseMenu&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$iseMenu&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$root&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Submenus&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Add&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$name&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;-not&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$merge&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$iseMenu&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Submenus&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Clear&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$sorted&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$menu&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;keys&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;%&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$order&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$menu&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;order&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;If&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#008080'&gt;[int]&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$order&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-lt&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt; &lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$order&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#800080'&gt;1000&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;+&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$order&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;If&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$order&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$order&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#800080'&gt;500&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$order&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"{0,3}{1}"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-f&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$order&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$sorted&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$order&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$menu&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ShortcutKey&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$menu&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$sorted&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;GetEnumerator&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;   &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#0000ff'&gt;Sort-Object&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Key&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#0000ff'&gt;ForEach-Object&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$itemname&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$ShortcutKey&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$value&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Value&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#00008b'&gt;switch&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$value&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-is&lt;/span&gt; &lt;span style='color:#008080'&gt;[Hashtable]&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;                    &lt;span style='color:#006400'&gt;# Nested menu, recurse&lt;/span&gt;            &lt;br /&gt;                    &lt;span style='color:#ff4500'&gt;$subMenu&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$iseMenu&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;SubMenus&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Add&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$itemName&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                    &lt;span style='color:#0000ff'&gt;Add-IseMenu1&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$itemName&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt; &lt;span style='color:#000080'&gt;-root&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$iseMenu&lt;/span&gt; &lt;span style='color:#000080'&gt;-passThru:&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$passThru&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$ShortcutKey&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;                    &lt;span style='color:#ff4500'&gt;$scriptBlock&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#008080'&gt;[ScriptBlock]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;::&lt;/span&gt;&lt;span style='color:#000000'&gt;Create&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                    &lt;span style='color:#00008b'&gt;try&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;                        &lt;span style='color:#ff4500'&gt;$m&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$iseMenu&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Submenus&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Add&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$itemName&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$scriptBlock&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ShortcutKey&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                    &lt;span style='color:#00008b'&gt;catch&lt;/span&gt;                &lt;br /&gt;                        &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;                        &lt;span style='color:#0000ff'&gt;Write-Host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Shortcut $($_.ShortcutKey) already in use. Menu item created without shortcut"&lt;/span&gt;            &lt;br /&gt;                        &lt;span style='color:#ff4500'&gt;$m&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$iseMenu&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Submenus&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Add&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$itemName&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$scriptBlock&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$passThru&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$m&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#8a2be2'&gt;default&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;                    &lt;span style='color:#ff4500'&gt;$scriptBlock&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#008080'&gt;[ScriptBlock]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;::&lt;/span&gt;&lt;span style='color:#000000'&gt;Create&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                    &lt;span style='color:#ff4500'&gt;$m&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$iseMenu&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Submenus&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Add&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$itemName&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$scriptBlock&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$passThru&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$m&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#000000'&gt;}&lt;/span&gt;                             &lt;br /&gt;            &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Add-IseMenu1&lt;/span&gt; &lt;span style='color:#000080'&gt;-Name&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Get"&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Process"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-Process&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;             &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Service"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-Service&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;             &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Hotfix"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Get-Hotfix&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Add-IseMenu1&lt;/span&gt; &lt;span style='color:#000080'&gt;-Name&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Get2"&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Process"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-Process&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Add-Member&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;NoteProperty&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;order&lt;/span&gt;  &lt;span style='color:#800080'&gt;2&lt;/span&gt; &lt;span style='color:#000080'&gt;-PassThru&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Service"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-Service&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Add-Member&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;NoteProperty&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;order&lt;/span&gt;  &lt;span style='color:#800080'&gt;1&lt;/span&gt; &lt;span style='color:#000080'&gt;-PassThru&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Hotfix"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Get-Hotfix&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;     &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Add-Member&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;NoteProperty&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;order&lt;/span&gt;  &lt;span style='color:#800080'&gt;3&lt;/span&gt; &lt;span style='color:#000080'&gt;-PassThru&lt;/span&gt;             &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-1424483753070934997?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/1424483753070934997/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/02/2nd-improvement-to-add-isemenu.html#comment-form' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/1424483753070934997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/1424483753070934997'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/02/2nd-improvement-to-add-isemenu.html' title='2nd improvement to Add-IseMenu'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-8326462485167975675</id><published>2010-02-14T09:24:00.000-08:00</published><updated>2010-02-14T09:38:56.985-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='ISEpack'/><category scheme='http://www.blogger.com/atom/ns#' term='ISE'/><title type='text'>1st improvement to Add-IseMenu</title><content type='html'>I hope that all users of Powershell V2 did try ISEpack from the &lt;a href="http://code.msdn.microsoft.com/PowerShellPack"&gt;PowerShellPack&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In the ISEpack module there is a function Add-IseMenu for creating addon menus.&lt;br /&gt;&lt;br /&gt;On of its shortcomings is that it is not tolerant in case when a short-cut is alredy in use.&lt;br /&gt;&lt;br /&gt;Just replace&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#ff4500'&gt;$m&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$iseMenu&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Submenus&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Add&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$itemName&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$scriptBlock&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ShortcutKey&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;with&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#00008b'&gt;try&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$m&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$iseMenu&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Submenus&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Add&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$itemName&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$scriptBlock&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ShortcutKey&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;catch&lt;/span&gt;                &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;Write-Host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Shortcut $($_.ShortcutKey) already in use. Menu item created without shortcut"&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$m&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$iseMenu&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Submenus&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Add&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$itemName&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$scriptBlock&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and that know-all behaviour is past. Now in case of clashes, it just creates the menu item without the short cut and emits a message.&lt;br /&gt;&lt;br /&gt;For the second shortcoming, no control about the order of the items, I have not yet a compatible idea.&lt;br /&gt;&lt;br /&gt;Bernd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-8326462485167975675?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/8326462485167975675/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/02/1st-improvement-to-add-isemenu.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/8326462485167975675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/8326462485167975675'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/02/1st-improvement-to-add-isemenu.html' title='1st improvement to Add-IseMenu'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-194640409957954786</id><published>2010-02-14T06:52:00.000-08:00</published><updated>2010-02-14T07:05:27.963-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='ISE'/><title type='text'>Which files are loaded in PowerShell ISE</title><content type='html'>Here is a small function to give you information about the state of the files you have loaded into the different tabs and editors of ISE:&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Get-ISELoadedFiles&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$tabcount&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;foreach&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$Tab&lt;/span&gt; &lt;span style='color:#00008b'&gt;in&lt;/span&gt;  &lt;span style='color:#ff4500'&gt;$psise&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;PowerShellTabs&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$Tab&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psise&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentPowerShellTab&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$currentTab&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'*'&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#00008b'&gt;else&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$currentTab&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;' '&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$filecount&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$tab&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CanInvoke&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$tabmarker&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;" $tabcount "&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#00008b'&gt;else&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$tabmarker&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"($tabcount)"&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#8b0000'&gt;"{0} -----{1} {2} ----- {3}"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-f&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$currentTab&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$tabmarker&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$Tab&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;DisplayName&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$tab&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Prompt&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$Tab&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Files&lt;/span&gt;  &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;%&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;             &lt;br /&gt;            &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psIse&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentFile&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;  &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$currentFile&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'*'&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#00008b'&gt;else&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$currentFile&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;' '&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;IsSaved&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$filemarker&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"$filecount "&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#00008b'&gt;else&lt;/span&gt;  &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$filemarker&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"$filecount*"&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#8b0000'&gt;"{0}       {1} {2}"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-f&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$currentFile&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$filemarker&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;fullpath&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$filecount&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;++&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$tabcount&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;++&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;It seems to be a little difficult to find out whether a tab is local or remote and if remote to which machine it is connected. Please drop a coment, if you have hints.&lt;br /&gt;&lt;br /&gt;Thanks&lt;br /&gt;&lt;br /&gt;Bernd&lt;br /&gt;(or on twitter @bernd_k)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-194640409957954786?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/194640409957954786/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/02/which-files-are-loaded-in-powershell.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/194640409957954786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/194640409957954786'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/02/which-files-are-loaded-in-powershell.html' title='Which files are loaded in PowerShell ISE'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-2638612972183423857</id><published>2010-02-12T01:54:00.000-08:00</published><updated>2010-02-12T01:56:58.430-08:00</updated><title type='text'>Ise Menu for Backgroud Jobs</title><content type='html'>And here is the working version. Thanks to hints from Shay Levi.&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Update-PSJobMenu&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$jobs&lt;/span&gt;        &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-Job&lt;/span&gt;             &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$jobs&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$receive_Job_items&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$stop_job_items&lt;/span&gt;    &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$remove_job_items&lt;/span&gt;  &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$jobs&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;%&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$receive_job_items&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;name&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;     &lt;span style='color:#8b0000'&gt;"Get-Job    -id  $([int] $_.Id) | Receive-Job "&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$stop_job_items&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;name&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;    &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;     &lt;span style='color:#8b0000'&gt;"Stop-Job   -id  $([int] $_.Id) | Stop-Job "&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$remove_job_items&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;name&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;  &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;     &lt;span style='color:#8b0000'&gt;"Remove-Job -id  $([int] $_.Id) | Receive-Job ; Update-PSJobMenu "&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$items&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Get-Info"&lt;/span&gt;                     &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-Job&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;             &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Run as Job"&lt;/span&gt;                   &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;                                        &lt;span style='color:#ff4500'&gt;$cmd&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#008080'&gt;[scriptblock]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;::&lt;/span&gt;&lt;span style='color:#000000'&gt;create&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$psIse&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentFile&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Text&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                                        &lt;span style='color:#0000ff'&gt;Invoke-Command&lt;/span&gt; &lt;span style='color:#000080'&gt;-computer&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;localhost&lt;/span&gt; &lt;span style='color:#000080'&gt;-ScriptBlock&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$cmd&lt;/span&gt;  &lt;span style='color:#000080'&gt;-asJob&lt;/span&gt;            &lt;br /&gt;                                        &lt;span style='color:#0000ff'&gt;Update-PSJobMenu&lt;/span&gt;              &lt;br /&gt;                &lt;br /&gt;                                     &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Run selection as Job"&lt;/span&gt;         &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;                                        &lt;span style='color:#ff4500'&gt;$cmd&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#008080'&gt;[scriptblock]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;::&lt;/span&gt;&lt;span style='color:#000000'&gt;Create&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$psIse&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentFile&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;SelectedText&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                                        &lt;span style='color:#0000ff'&gt;Invoke-Command&lt;/span&gt; &lt;span style='color:#000080'&gt;-computer&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;localhost&lt;/span&gt; &lt;span style='color:#000080'&gt;-ScriptBlock&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$cmd&lt;/span&gt;  &lt;span style='color:#000080'&gt;-asJob&lt;/span&gt;            &lt;br /&gt;                                        &lt;span style='color:#0000ff'&gt;Update-PSJobMenu&lt;/span&gt;              &lt;br /&gt;                                     &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                                                 &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Stop-Job"&lt;/span&gt;                     &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$stop_job_items&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Remove-Job"&lt;/span&gt;                   &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$remove_job_items&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Receive-Job id"&lt;/span&gt;               &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$receive_job_items&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Refresh Menu"&lt;/span&gt;                 &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Update-PSJobMenu&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;Add-IseMenu&lt;/span&gt; &lt;span style='color:#000080'&gt;-name&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;PSJobs&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$items&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Update-PSJobMenu&lt;/span&gt;            &lt;br /&gt;             &lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-2638612972183423857?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/2638612972183423857/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/02/ise-menu-for-backgroud-jobs.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/2638612972183423857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/2638612972183423857'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/02/ise-menu-for-backgroud-jobs.html' title='Ise Menu for Backgroud Jobs'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-5740337804623672144</id><published>2010-02-11T23:10:00.000-08:00</published><updated>2010-02-11T23:17:47.627-08:00</updated><title type='text'>Ise Menu for Backgroud Jobs (Trial)</title><content type='html'>The following code is inspired by the planned articels from &lt;a href="http://www.ravichaganti.com/blog/"&gt;Ravikanth Chaganti&lt;/a&gt; about Background Jobs. If 'Run as Job' and 'Run selection as Job' would run it would be cool. But I don't see the difference to 'local background job (demo)' which is running. As in previous post get  Add-IseMenu from ISEPack.&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Update-PSJobMenu&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$jobs&lt;/span&gt;        &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-Job&lt;/span&gt;             &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$jobs&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$receive_Job_items&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$stop_job_items&lt;/span&gt;    &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$remove_job_items&lt;/span&gt;  &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$jobs&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;%&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$receive_job_items&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;name&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;     &lt;span style='color:#8b0000'&gt;"Get-Job    -id  $([int] $_.Id) | Receive-Job "&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$stop_job_items&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;name&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;    &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;     &lt;span style='color:#8b0000'&gt;"Stop-Job   -id  $([int] $_.Id) | Stop-Job "&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$remove_job_items&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;name&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;  &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;     &lt;span style='color:#8b0000'&gt;"Remove-Job -id  $([int] $_.Id) | Receive-Job ; Update-PSJobMenu "&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$items&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Get-Info"&lt;/span&gt;                     &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-Job&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;             &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# temporary until the next 2 are working and renamed to a common path&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"local background job (demo)"&lt;/span&gt;  &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;             &lt;br /&gt;                                        &lt;span style='color:#0000ff'&gt;Invoke-Command&lt;/span&gt; &lt;span style='color:#000080'&gt;-computer&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;localhost&lt;/span&gt; &lt;span style='color:#000080'&gt;-ScriptBlock&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Get-ChildItem&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;C:\windows&lt;/span&gt; &lt;span style='color:#000080'&gt;-Recurse&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Count&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#000080'&gt;-asJob&lt;/span&gt;            &lt;br /&gt;                                        &lt;span style='color:#0000ff'&gt;Update-PSJobMenu&lt;/span&gt;              &lt;br /&gt;                                     &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# not working, but would be very cool&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Run as Job"&lt;/span&gt;            &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;                                        &lt;span style='color:#ff4500'&gt;$cmd&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psIse&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentFile&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Text&lt;/span&gt;            &lt;br /&gt;                                        &lt;span style='color:#0000ff'&gt;Invoke-Command&lt;/span&gt; &lt;span style='color:#000080'&gt;-computer&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;localhost&lt;/span&gt; &lt;span style='color:#000080'&gt;-ScriptBlock&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$cmd&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#000080'&gt;-asJob&lt;/span&gt;            &lt;br /&gt;                                        &lt;span style='color:#0000ff'&gt;Update-PSJobMenu&lt;/span&gt;              &lt;br /&gt;                &lt;br /&gt;                                     &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# not working, but would be very cool&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# gci C:\windows -rec&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Run selection as Job"&lt;/span&gt;  &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;                                        &lt;span style='color:#ff4500'&gt;$cmd&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psIse&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentFile&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;SelectedText&lt;/span&gt;            &lt;br /&gt;                                        &lt;span style='color:#0000ff'&gt;Invoke-Command&lt;/span&gt; &lt;span style='color:#000080'&gt;-computer&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;localhost&lt;/span&gt; &lt;span style='color:#000080'&gt;-ScriptBlock&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$cmd&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#000080'&gt;-asJob&lt;/span&gt;            &lt;br /&gt;                                        &lt;span style='color:#0000ff'&gt;Update-PSJobMenu&lt;/span&gt;              &lt;br /&gt;                                     &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                                                 &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Stop-Job"&lt;/span&gt;                     &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$stop_job_items&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Remove-Job"&lt;/span&gt;                   &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$remove_job_items&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Receive-Job id"&lt;/span&gt;               &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$receive_job_items&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Refresh Menu"&lt;/span&gt;                 &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Update-PSJobMenu&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;Add-IseMenu&lt;/span&gt; &lt;span style='color:#000080'&gt;-name&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;PSJobs&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$items&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Update-PSJobMenu&lt;/span&gt;            &lt;br /&gt;             &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I tell me would what I have to do to fix this. Many thanks in advance.&lt;br /&gt;&lt;br /&gt;Bernd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-5740337804623672144?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/5740337804623672144/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/02/ise-menu-for-backgroud-jobs-trial.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/5740337804623672144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/5740337804623672144'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/02/ise-menu-for-backgroud-jobs-trial.html' title='Ise Menu for Backgroud Jobs (Trial)'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-4231141344202502720</id><published>2010-02-10T22:44:00.000-08:00</published><updated>2010-02-12T00:33:46.306-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PSremoting'/><category scheme='http://www.blogger.com/atom/ns#' term='ISE'/><title type='text'>PSRemoting &amp; ISE (I)</title><content type='html'>If you weant to learn about PSRemoting read &lt;a href="http://www.ravichaganti.com/blog/?p=1025"&gt;Ravikanth's PowerShell 2.0 remoting guide&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;When you have&lt;br /&gt;&lt;blockquote&gt;Enter-PSSession -ComputerName localhost &lt;/blockquote&gt;&lt;br /&gt;running  (&lt;a href="http://www.ravichaganti.com/blog/?p=1060"&gt;cf. part 3&lt;/a&gt;)  and you have PowerShell V2 with ISE running check whether you have&lt;a href="http://code.msdn.microsoft.com/PowerShellPack"&gt;ISEPack&lt;/a&gt; installed.&lt;br /&gt;&lt;br /&gt;Then you can try the following function which puts some remoting commands to you addon menu:&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#0000ff'&gt;Add-IseMenu&lt;/span&gt; &lt;span style='color:#000080'&gt;-name&lt;/span&gt;    &lt;span style='color:#8a2be2'&gt;Remoting&lt;/span&gt;  &lt;span style='color:#000000'&gt;@{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Get-PSSessionConfiguration"&lt;/span&gt;   &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-PSSessionConfiguration&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;             &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Enter-PSSesion localhost"&lt;/span&gt;     &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Enter-PSSession&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;localhost&lt;/span&gt;  &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Enter-PSSession "&lt;/span&gt;             &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;                                         &lt;span style='color:#0000ff'&gt;Enter-PSSession&lt;/span&gt; &lt;span style='color:#000080'&gt;-ComputerName&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Read-Host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Enter computerName: "&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                                         &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;!&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$?&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;             &lt;br /&gt;                                            &lt;span style='color:#0000ff'&gt;Enter-PSSession&lt;/span&gt; &lt;span style='color:#000080'&gt;-ComputerName&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Read-Host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Enter computerName: "&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000080'&gt;-Credential&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Get-Credential&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                                         &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                                      &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Enter Session Id 1"&lt;/span&gt;           &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Enter-PSSession&lt;/span&gt; &lt;span style='color:#000080'&gt;-Session&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Get-PSSession&lt;/span&gt; &lt;span style='color:#000080'&gt;-Id&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Enter Session Id 2"&lt;/span&gt;           &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Enter-PSSession&lt;/span&gt; &lt;span style='color:#000080'&gt;-Session&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Get-PSSession&lt;/span&gt; &lt;span style='color:#000080'&gt;-Id&lt;/span&gt; &lt;span style='color:#800080'&gt;2&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Exit-PSSession"&lt;/span&gt;               &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Exit-PSSession&lt;/span&gt;             &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Get-PSSession"&lt;/span&gt;                &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-PSSession&lt;/span&gt;              &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"New-PSSession localhost"&lt;/span&gt;      &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;New-PSSession&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;localhost&lt;/span&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"New-PSSession "&lt;/span&gt;               &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;             &lt;br /&gt;                                         &lt;span style='color:#0000ff'&gt;New-PSSession&lt;/span&gt; &lt;span style='color:#000080'&gt;-ComputerName&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Read-Host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Enter computerName: "&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                                         &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;!&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$?&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;             &lt;br /&gt;                                           &lt;span style='color:#0000ff'&gt;New-PSSession&lt;/span&gt; &lt;span style='color:#000080'&gt;-ComputerName&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Read-Host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Enter computerName: "&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000080'&gt;-Credential&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Get-Credential&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                                         &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                                     &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;#    "background cmd test 1"        = { Invoke-Command -Session (Get-PSSession -Id 1) -ScriptBlock {(Get-ChildItem C:\var -Recurse).Count} -asJob  }&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"background cmd local"&lt;/span&gt;         &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Invoke-Command&lt;/span&gt; &lt;span style='color:#000080'&gt;-computer&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;localhost&lt;/span&gt; &lt;span style='color:#000080'&gt;-ScriptBlock&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Get-ChildItem&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;C:\var&lt;/span&gt; &lt;span style='color:#000080'&gt;-Recurse&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Count&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#000080'&gt;-asJob&lt;/span&gt;  &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Get-Job"&lt;/span&gt;                      &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-Job&lt;/span&gt;                     &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Get-Job 1"&lt;/span&gt;                    &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-Job&lt;/span&gt; &lt;span style='color:#000080'&gt;-id&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Receive-Job&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Import Session1 "&lt;/span&gt;             &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Import-PSSession&lt;/span&gt; &lt;span style='color:#000080'&gt;-Session&lt;/span&gt;  &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Get-PSSession&lt;/span&gt; &lt;span style='color:#000080'&gt;-Id&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000080'&gt;-Prefix&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;RS&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I think this  is rather basic. Most of it runs in the local session.&lt;br /&gt;But note the Exit-PSSession entry, which is prepared in the local session, but invoked from the remote session.&lt;br /&gt;&lt;br /&gt;Generally while in remote session, you can't acces $psISE  (or I didn't yet find a work around).&lt;br /&gt;So while in remote session  you can not modify the addon menu.&lt;br /&gt;( For dynamic modifying of the addon menu see my module loader http://pauerschell.blogspot.com/ )&lt;br /&gt;&lt;br /&gt;I hope that helps you play with PSRemoting using ISE.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Just extended the code. Thanks to Ravi.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-4231141344202502720?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/4231141344202502720/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/02/psremoting-ise-i.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/4231141344202502720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/4231141344202502720'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/02/psremoting-ise-i.html' title='PSRemoting &amp; ISE (I)'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-6417732466614390907</id><published>2010-02-01T09:23:00.000-08:00</published><updated>2010-02-01T09:35:38.626-08:00</updated><title type='text'>Out-ISEFile (V 0.91)</title><content type='html'>Just posted an improved version at &lt;a href="http://poshcode.org/1623"&gt;poshcode&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Note the filter Remove-TrailingBlanks, which uses regex to remove embedded trailing blanks.&lt;br /&gt;&lt;br /&gt;And note the way I build back a collection from the objects running down the input pipeline.&lt;br /&gt;&lt;br /&gt;Having back the object I can sen it to Out-String which has a width parameter (Snoopy dance).&lt;br /&gt;&lt;br /&gt;For one thing I miss the option to pass the value 0 meaning unlimited and on the other side I'm not going to ask for the rationale of emiting trailing blanks to pad to the width. I guess this is a rudiment from the last millenium.&lt;br /&gt;&lt;br /&gt;Finally note the -fl switch. I'm planning to implement some &lt;span style="font-weight:bold;"&gt;word wrapping&lt;/span&gt;, when this switch is selected.&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://PoshCode.org/embed/1623"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-6417732466614390907?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/6417732466614390907/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/02/out-isefile-v-091.html#comment-form' title='2 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6417732466614390907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6417732466614390907'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/02/out-isefile-v-091.html' title='Out-ISEFile (V 0.91)'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-893814264888299952</id><published>2010-01-31T06:26:00.000-08:00</published><updated>2010-01-31T06:46:37.022-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wrapping'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='ISE'/><title type='text'>Out-ISEFile (V 0.9)</title><content type='html'>Just read the following tweet:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;@MaxTrinidad Need the path to the various profile scripts on a system? Try $profile.psextended | Format-List (Try it in #PowerShell ISE too)&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;from @alexandair.&lt;br /&gt;&lt;br /&gt;As I'm using ISE all day long, I tried it immedeatly and here is my result:&lt;br /&gt;&lt;blockquote&gt;AllUsersAllHosts       : C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1&lt;br /&gt;AllUsersCurrentHost    : C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShellISE_pro&lt;br /&gt;                         file.ps1&lt;br /&gt;CurrentUserAllHosts    : C:\Users\berndk.MMEDVNT\Documents\WindowsPowerShell\profile.ps1&lt;br /&gt;CurrentUserCurrentHost : C:\Users\berndk.MMEDVNT\Documents\WindowsPowerShell\Microsoft.PowerShe&lt;br /&gt;                         llISE_profile.ps1&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Oops again the PowerShells f***ing wrapping behavior. It's time to write a work around:&lt;br /&gt;&lt;br /&gt; &lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Out-IseFile&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#add8e6'&gt;CmdletBinding&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;param&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#add8e6'&gt;Parameter&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;Position&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#000000'&gt;Mandatory&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$True&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;  &lt;span style='color:#000000'&gt;ValueFromPipeline&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$True&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;                    &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$msg&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#add8e6'&gt;Parameter&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;Position&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#000000'&gt;Mandatory&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$False&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#000000'&gt;ValueFromPipeline&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$False&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;                    &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$path&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#008080'&gt;[switch]&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$fl&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$fl&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$msg&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$msg&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt;  &lt;span style='color:#0000ff'&gt;Format-list&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;out-string&lt;/span&gt; &lt;span style='color:#000080'&gt;-width&lt;/span&gt; &lt;span style='color:#800080'&gt;2000&lt;/span&gt;             &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$count&lt;/span&gt;   &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psise&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentPowerShellTab&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Files&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;count&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;    &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psIse&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentPowerShellTab&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Files&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Add&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$Newfile&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psIse&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentPowerShellTab&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Files&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$count&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$path&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;                &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$NewFile&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;SaveAs&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$path&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$NewFile&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Save&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#008080'&gt;[Text.Encoding]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;::&lt;/span&gt;&lt;span style='color:#000000'&gt;default&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$Editor&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$Newfile&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Editor&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;#$Editor.SetCaretPosition($Editor.LineCount, 1)&lt;/span&gt;            &lt;br /&gt;                &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$ar&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$msg&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-split&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"`r`n"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;%&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;  &lt;span style='color:#a9a9a9'&gt;-replace&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'\s*$'&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8b0000'&gt;''&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$msg&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$ar&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-join&lt;/span&gt;  &lt;span style='color:#8b0000'&gt;"`r`n"&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$msg&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$msg&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;+&lt;/span&gt;  &lt;span style='color:#8b0000'&gt;"`r`n"&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$Editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;InsertText&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$msg&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$Newfile&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$null&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$profile&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;psextended&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;out-IseFile&lt;/span&gt; &lt;span style='color:#000080'&gt;-fl&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;To use it just type:&lt;br /&gt;&lt;blockquote&gt;$null = $profile.psextended | out-IseFile -fl&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Please note: this is work in progress. &lt;br /&gt;The main trick is to use Out-String with a long width parameter, that suppresses the unwanted wrapping. &lt;br /&gt;For some reason (I guess it's just what we call in German Gedankenlosigkeit) Out-String emits trailing blanks. I included code to get rid of it.&lt;br /&gt;&lt;br /&gt;Because Format-List seams rather frequent, I added the fl switch.&lt;br /&gt;&lt;br /&gt;Remeber when ISE-Output pane behaves naughty ( and that is quite often) just send your output to a fresh editor. That makes it easy to edit and save it, if you want.&lt;br /&gt;&lt;br /&gt;Have fun extending ISE.&lt;br /&gt;&lt;br /&gt;Bernd&lt;br /&gt;&lt;br /&gt;PS: Thanks to JS who made it extendable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-893814264888299952?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/893814264888299952/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/01/out-isefile-v-09.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/893814264888299952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/893814264888299952'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/01/out-isefile-v-09.html' title='Out-ISEFile (V 0.9)'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-546597234583768250</id><published>2010-01-24T04:52:00.000-08:00</published><updated>2010-01-24T05:56:23.272-08:00</updated><title type='text'>Remove-DuplicateFile the ISE Way</title><content type='html'>The last days I spent checking some PowerShell scripts for finding and deleting duplicate files.&lt;br /&gt;&lt;br /&gt;First we need to define which files are equal. &lt;br /&gt;For most big files the criteria is simple: they are equal, when they are true copies of each other.&lt;br /&gt;The second group contains text files you have edited. Here you often want to ignore some insignificant differences like trailing blanks etc. Take a look at the options of the &lt;a href="http://ss64.com/nt/fc.html"&gt;old fc command     &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Let us focus today on the first approach. The best solution I found on the web is from &lt;a href="http://www.codeassassin.com/blog/PermaLink,guid,e05d6a2c-fdc2-4a96-9d72-d038f9306945.aspx"&gt;Jason Stangroome&lt;/a&gt;. From him I copied the idea to use the &lt;a href="http://blogs.msdn.com/powershell/archive/2006/04/25/583225.aspx"&gt;Get-MD5&lt;/a&gt; function, which closes the streams.&lt;br /&gt;&lt;br /&gt;Without it you have some fun googling for 'The Process cannot access the file because a it is being used by another process'. Yes there seems to be ways to close files even in PowerShell, but PowerShell documentation is somewhat biased.&lt;br /&gt;&lt;br /&gt;Using those Get-MD5 function, there is no problem in invoking Remove-item on the File you found, if you are decided to delete it.&lt;br /&gt;&lt;br /&gt;I would prefer to use the delete method of the [System.IO.FileInfo], but I get 'Exception calling "Delete" with "0" argument(s): "Access to the path 'xxx.ps1' is denied.'&lt;br /&gt;On the other side &lt;blockquote&gt;Remove-item  $($file.Fullname) -force&lt;/blockquote&gt;&lt;br /&gt;works fine.&lt;br /&gt;&lt;br /&gt;I'm not following Jason in sorting the files acording to there length, but keep to a simpler design of comparing the files in the order they are output by Get-Childitem.&lt;br /&gt;&lt;br /&gt;Instead of using -whatif I chose a different way. I just output the commands and some comments to a new ISE-file.&lt;br /&gt;&lt;br /&gt;There I can check, whether I want to perform the delete or not and at the same time I have a fine log of the files I deleted.&lt;br /&gt;&lt;br /&gt;The following code assumes you use PowerShell V2' ISE:&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Get-MD5&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#008080'&gt;[System.IO.FileInfo]&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$file&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;$(&lt;/span&gt;&lt;span style='color:#00008b'&gt;throw&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'Usage: Get-MD5 [System.IO.FileInfo]'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# This Get-MD5 function sourced from:&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# http://blogs.msdn.com/powershell/archive/2006/04/25/583225.aspx&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$stream&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$cryptoServiceProvider&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#008080'&gt;[System.Security.Cryptography.MD5CryptoServiceProvider]&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$hashAlgorithm&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;new-object&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$cryptoServiceProvider&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$stream&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$file&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;OpenRead&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$hashByteArray&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$hashAlgorithm&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;ComputeHash&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$stream&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$stream&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Close&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;## We have to be sure that we close the file stream if any exceptions are thrown.&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;trap&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$stream&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-ne&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$stream&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Close&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;break&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;return&lt;/span&gt; &lt;span style='color:#008080'&gt;[string]&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$hashByteArray&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;New-IseFile&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$path&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$count&lt;/span&gt;   &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psise&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentPowerShellTab&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Files&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;count&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;    &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psIse&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentPowerShellTab&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Files&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Add&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$Newfile&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psIse&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentPowerShellTab&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Files&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$count&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$NewFile&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;SaveAs&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$path&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$NewFile&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Save&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#008080'&gt;[Text.Encoding]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;::&lt;/span&gt;&lt;span style='color:#000000'&gt;default&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$Newfile&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Write-IseFile&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$file&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$msg&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$Editor&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$file&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Editor&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$Editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;SetCaretPosition&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$Editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;LineCount&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$Editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;InsertText&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$msg&lt;/span&gt;  &lt;span style='color:#a9a9a9'&gt;+&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"`r`n"&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Remove-DuplicateFile&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#add8e6'&gt;CmdletBinding&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;param&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$path&lt;/span&gt;      &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;”.\”&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$extension&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;”*.*”&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#008080'&gt;[switch]&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$delete&lt;/span&gt;              &lt;br /&gt;    &lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;                &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$Newfile&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;New-IseFile&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"$(get-location)\Delete-DuplicateFiles_$(get-date -f "yyyy-MM-dd-HH").ps1"&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$hashtable&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;new-object&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;system.collections.hashtable&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;#    $global:filesToDelete = @()&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$global:totalLength&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt;            &lt;br /&gt;                &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;get-childitem&lt;/span&gt; &lt;span style='color:#000080'&gt;-path&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$path&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$extension&lt;/span&gt; &lt;span style='color:#000080'&gt;-recurse&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;where-object&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;!&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;PSIsContainer&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt;             &lt;br /&gt;         &lt;span style='color:#0000ff'&gt;%&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;             &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$file&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;             &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$hashvalue&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-MD5&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$file&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$length&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Length&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#00008b'&gt;trap&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#ff4500'&gt;$global:totalLength&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;+=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$length&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$msg&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;@"&lt;br /&gt;&lt;br /&gt;# current  {0} Byte   total: {1,8:f3} MB"  &lt;br /&gt;# Remove-Item `'$($hashtable[$hashvalue])`' -force &lt;br /&gt;  Remove-Item `'$($file.Fullname)`' -force&lt;br /&gt;"@&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-f&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$length&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#000000'&gt;$(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$global:totalLength&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;/&lt;/span&gt; &lt;span style='color:#800080'&gt;1MB&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#ff4500'&gt;$msg&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#0000ff'&gt;Write-IseFile&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$Newfile&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$msg&lt;/span&gt;                    &lt;br /&gt; &lt;span style='color:#006400'&gt;#               $global:filesToDelete  += $file.Fullname&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$delete&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;                    &lt;span style='color:#0000ff'&gt;Remove-item&lt;/span&gt;  &lt;span style='color:#000000'&gt;$(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$file&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Fullname&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000080'&gt;-force&lt;/span&gt;            &lt;br /&gt;                    &lt;span style='color:#006400'&gt;#$file.delete()&lt;/span&gt;            &lt;br /&gt;                                &lt;br /&gt;                &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#00008b'&gt;continue&lt;/span&gt;             &lt;br /&gt;            &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;              &lt;span style='color:#ff4500'&gt;$hashTable&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Add&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$hashvalue&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$file&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;FullName&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;         &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                     &lt;br /&gt;&lt;span style='color:#006400'&gt;#     Write-Host "`r`nFiles to delete`r`n"&lt;/span&gt;            &lt;br /&gt;                 &lt;br /&gt;&lt;span style='color:#006400'&gt;#     foreach ($f in $filesToDelete) {&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;#        Write-Host "Remove-Item `'$f`' -force"&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;#     }&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$NewFile&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Save&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;                        &lt;br /&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now you I call it with something like&lt;br /&gt;&lt;br /&gt;Remove-DuplicateFile D:\myFiles,D:\mybackup&lt;br /&gt;&lt;br /&gt;and get the new new ISE-Editor.&lt;br /&gt;&lt;br /&gt;Attention using the -delete parameter the deletes where executed immediately.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-546597234583768250?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/546597234583768250/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/01/remove-duplicatefile-ise-way.html#comment-form' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/546597234583768250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/546597234583768250'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/01/remove-duplicatefile-ise-way.html' title='Remove-DuplicateFile the ISE Way'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-6900863412709282440</id><published>2010-01-17T03:40:00.001-08:00</published><updated>2010-01-17T03:46:13.459-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Current Disk Queue Length'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><title type='text'>My Diskqueue Problem</title><content type='html'>I'm running Windows 7 and every now and than my system is nonresponsive for 60 seconds.&lt;br /&gt;The esource monitor shows something like the following. Most of my current PowerShell scripts are attemps to trace down this problem. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_h-3jATJiW1g/S1L3f2N2CjI/AAAAAAAAAkE/aKVud6v8dP0/s1600-h/2010-01-17_wait.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 200px;" src="http://2.bp.blogspot.com/_h-3jATJiW1g/S1L3f2N2CjI/AAAAAAAAAkE/aKVud6v8dP0/s400/2010-01-17_wait.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5427672627436456498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Any ideas ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-6900863412709282440?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/6900863412709282440/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/01/my-diskqueue-problem.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6900863412709282440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6900863412709282440'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/01/my-diskqueue-problem.html' title='My Diskqueue Problem'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_h-3jATJiW1g/S1L3f2N2CjI/AAAAAAAAAkE/aKVud6v8dP0/s72-c/2010-01-17_wait.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-6144390114202616116</id><published>2010-01-17T02:28:00.000-08:00</published><updated>2010-01-17T04:54:10.760-08:00</updated><title type='text'>Eval-Min, Eval-Max, $null Part II</title><content type='html'>&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#006400'&gt;# The following relations are valid&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;# All PowerShellStatements eval to True&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;# -2 &amp;lt; -1 &amp;lt; NULL &amp;lt; 0 &amp;lt; 1 &amp;lt; 2&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#800080'&gt;-2&lt;/span&gt;    &lt;span style='color:#a9a9a9'&gt;-lt&lt;/span&gt; &lt;span style='color:#800080'&gt;-1&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#800080'&gt;-1&lt;/span&gt;    &lt;span style='color:#a9a9a9'&gt;-lt&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;             &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$null&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-lt&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt;             &lt;br /&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt;    &lt;span style='color:#a9a9a9'&gt;-lt&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;            &lt;br /&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;    &lt;span style='color:#a9a9a9'&gt;-lt&lt;/span&gt; &lt;span style='color:#800080'&gt;2&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$null&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-lt&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;# 2 &amp;gt; 1 &amp;gt; 0 &amp;gt;  NULL  &amp;gt; -1 &amp;gt; -2&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#800080'&gt;2&lt;/span&gt;     &lt;span style='color:#a9a9a9'&gt;-gt&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#800080'&gt;1&lt;/span&gt;     &lt;span style='color:#a9a9a9'&gt;-gt&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#800080'&gt;0&lt;/span&gt;     &lt;span style='color:#a9a9a9'&gt;-gt&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$null&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-gt&lt;/span&gt; &lt;span style='color:#800080'&gt;-1&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#800080'&gt;-1&lt;/span&gt;    &lt;span style='color:#a9a9a9'&gt;-gt&lt;/span&gt; &lt;span style='color:#800080'&gt;-2&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#800080'&gt;1&lt;/span&gt;     &lt;span style='color:#a9a9a9'&gt;-gt&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;# 0 is not NULL&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#800080'&gt;0&lt;/span&gt;     &lt;span style='color:#a9a9a9'&gt;-ne&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$null&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-ne&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Eval-Max&lt;/span&gt;             &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$max&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;foreach&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$i&lt;/span&gt; &lt;span style='color:#00008b'&gt;in&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$args&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$i&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-ne&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#00008b'&gt;if&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$i&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-gt&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$max&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-or&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$max&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#ff4500'&gt;$max&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$i&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;         &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$max&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Eval-Min&lt;/span&gt;             &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$min&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;foreach&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$i&lt;/span&gt; &lt;span style='color:#00008b'&gt;in&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$args&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$i&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-ne&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#00008b'&gt;if&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$i&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-lt&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$min&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-or&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$min&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#ff4500'&gt;$min&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$i&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;         &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$min&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;# $null handeled korrect&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Eval-Min&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;-1&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Eval-Max&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;-1&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Eval-Min&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;-1&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Eval-Max&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;-1&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;# The following seem wrong &lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Eval-Min&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;-2&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;-1&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Eval-Max&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;-2&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;-1&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;To understand what happens look at &lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Show-Type&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;             &lt;br /&gt;    &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$args&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#800080'&gt;0&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;gettype&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;             &lt;br /&gt; &lt;span style='color:#0000ff'&gt;Show-type&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;             &lt;br /&gt; &lt;span style='color:#0000ff'&gt;Show-type&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;-1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;IsPublic IsSerial Name                                     BaseType                        &lt;br /&gt;-------- -------- ----                                     --------                        &lt;br /&gt;True     True     Int32                                    System.ValueType                &lt;br /&gt;True     True     String                                   System.Object                   &lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I find this different behaviour is rather confusing. May we call it a bug?&lt;br /&gt;&lt;br /&gt;When you cast the arguments to integers, you get the expected result.&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#0000ff'&gt;Eval-Min&lt;/span&gt; &lt;span style='color:#000000'&gt;$(&lt;/span&gt;&lt;span style='color:#008080'&gt;[int]&lt;/span&gt;&lt;span style='color:#800080'&gt;-2&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;$(&lt;/span&gt;&lt;span style='color:#008080'&gt;[int]&lt;/span&gt;&lt;span style='color:#800080'&gt;-1&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;             &lt;br /&gt; &lt;span style='color:#800080'&gt;-2&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;When you are working with properly typed input, the functions work as aspected.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-6144390114202616116?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/6144390114202616116/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/01/eval-min-eval-max-null-part-ii.html#comment-form' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6144390114202616116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6144390114202616116'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/01/eval-min-eval-max-null-part-ii.html' title='Eval-Min, Eval-Max, $null Part II'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-4965392509410499059</id><published>2010-01-16T23:01:00.000-08:00</published><updated>2010-01-17T03:10:02.435-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='min'/><category scheme='http://www.blogger.com/atom/ns#' term='null'/><category scheme='http://www.blogger.com/atom/ns#' term='max'/><title type='text'>Eval-Min, Eval-Max, $null</title><content type='html'>When you want to determine the minimum or maximum of some property of &lt;span style="font-weight:bold;"&gt;all &lt;/span&gt;items in a pipeline, you can use Measure-Object.&lt;br /&gt;&lt;br /&gt;But when you want to do some kind of performance monitoring, you want to eval the min or max so far, without stoping the running pipeline.&lt;br /&gt;&lt;br /&gt;Primary to improve readability in my script I wrote the following two functions.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Attention I just found wrong results for negative arguments. I'm still checking. Look at the follow-ups.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Eval-Max&lt;/span&gt;             &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$max&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;foreach&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$i&lt;/span&gt; &lt;span style='color:#00008b'&gt;in&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$args&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$i&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-gt&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$max&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$max&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$i&lt;/span&gt;            &lt;br /&gt;         &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$max&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Eval-Min&lt;/span&gt;             &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$min&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;foreach&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$i&lt;/span&gt; &lt;span style='color:#00008b'&gt;in&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$args&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$i&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-ne&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-and&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$i&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-lt&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$min&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-or&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$min&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$min&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$i&lt;/span&gt;            &lt;br /&gt;         &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$min&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Note that the two functions are not symmetric. Unlike SQL here in PowerShell we have&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#ff4500'&gt;$null&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-lt&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;True&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$null&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-gt&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;False&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;PowerShell $null seems to have funny mathematical behaviour. It is less than 0 but greater than each negative number. In any case it is different from SQL NULL. be warned. Me functions here follow the SQL pattern. Therefore&lt;br /&gt; &lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#0000ff'&gt;Eval-Min&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$null&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#800080'&gt;1&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Please if you know of earlier similar PowerShell functions drop a comment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-4965392509410499059?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/4965392509410499059/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/01/eval-min-eval-max-null.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/4965392509410499059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/4965392509410499059'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/01/eval-min-eval-max-null.html' title='Eval-Min, Eval-Max, $null'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-1663040551288322094</id><published>2010-01-04T10:10:00.000-08:00</published><updated>2010-01-16T05:35:08.680-08:00</updated><title type='text'>Use PowerShell to get openfiles with handle.exe</title><content type='html'>You find handle.exe at http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx.&lt;br /&gt;&lt;br /&gt;You can use the following script to store a snapshot of the open files in a grid. You have to adapt the path to handle.exe.&lt;br /&gt; &lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#0000ff'&gt;C:\Usr\sysint\handle.exe&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;foreach&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-match&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'^(?&amp;lt;program&amp;gt;\S*)\s*pid: (?&amp;lt;pid&amp;gt;\d*)\s*(?&amp;lt;user&amp;gt;.*)$'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$matches&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;%&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$id&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;pid&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$program&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;program&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$user&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;user&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-match&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'^\s*(?&amp;lt;handle&amp;gt;[\da-z]*): File  \((?&amp;lt;attr&amp;gt;...)\)\s*(?&amp;lt;file&amp;gt;(\\\\)|([a-z]:).*)'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#006400'&gt;#$_&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$matches&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;select&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;n&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;&lt;span style='color:#8b0000'&gt;"Pid"&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt;&lt;span style='color:#000000'&gt;e&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$id&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;n&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;&lt;span style='color:#8b0000'&gt;"Program"&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt;&lt;span style='color:#000000'&gt;e&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$program&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;n&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;&lt;span style='color:#8b0000'&gt;"User"&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt;&lt;span style='color:#000000'&gt;e&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$user&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;n&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;&lt;span style='color:#8b0000'&gt;"Handle"&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt;&lt;span style='color:#000000'&gt;e&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;handle&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;n&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;&lt;span style='color:#8b0000'&gt;"attr"&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt;&lt;span style='color:#000000'&gt;e&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;attr&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;n&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;&lt;span style='color:#8b0000'&gt;"Path"&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt;&lt;span style='color:#000000'&gt;e&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;file&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;out-Gridview&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I would like to fetch just the files in the current disk queue.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2010-01-16 Edited&lt;/span&gt;. I had a problem with html escape characters. Thanks for the comment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-1663040551288322094?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/1663040551288322094/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2010/01/use-powershell-to-get-openfiles-with.html#comment-form' title='4 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/1663040551288322094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/1663040551288322094'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2010/01/use-powershell-to-get-openfiles-with.html' title='Use PowerShell to get openfiles with handle.exe'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-101741166999985761</id><published>2009-12-28T06:52:00.000-08:00</published><updated>2009-12-28T07:52:05.277-08:00</updated><title type='text'>Compare-Object &amp; get-wmiobject win32_process does it right</title><content type='html'>Hello &lt;br /&gt;the fasted way to have lots of processes with the same ProcessName is use Chrome, which opens for each tab its own process and uses a few of it's own. I heard rumours that firefox will use seperate processes in future versions too. But here I'm not going to start any process vs. thread discussion. Here I will play with processes with the same name. You can just start Notepad for this purpose.&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#0000ff'&gt;get-process&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;?&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Name&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'Notepad'&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Kill&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Notepad&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Notepad&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;notepad&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;notepad&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$gp_a&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;get-process&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;notepad&lt;/span&gt;             &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$gwmip_a&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;get-wmiobject&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;win32_process&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;?&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Name&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'notepad.exe'&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;            &lt;br /&gt;&lt;br /&gt;The code above just ensures, that there are 4 instances of notepad running.&lt;br /&gt;Next close one of the first 3 instances and take fresh snapshots.&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#ff4500'&gt;$gp_b&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;get-process&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;notepad&lt;/span&gt;             &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$gwmip_b&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;get-wmiobject&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;win32_process&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;?&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Name&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'notepad.exe'&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Let's look at them:&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#ff4500'&gt;$gp_a&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Initially there where 4 processes:&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;br /&gt;PS C:\Var\bin&gt; $gp_a&lt;br /&gt;&lt;br /&gt;Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName                                                        &lt;br /&gt;-------  ------    -----      ----- -----   ------     -- -----------                                                        &lt;br /&gt;     69       3      992       7612    72            1492 notepad                                                            &lt;br /&gt;     69       3      976       4220    55            2272 notepad                                                            &lt;br /&gt;     68       3      972       4096    55            3368 notepad                                                            &lt;br /&gt;     13       1      284         60     2            5480 notepad                                                            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#ff4500'&gt;$gp_b&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;In second snapshot there are 3 processes (PID 2272 got killed)&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;br /&gt;PS C:\Var\bin&gt; $gp_b&lt;br /&gt;&lt;br /&gt;Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName                                                        &lt;br /&gt;-------  ------    -----      ----- -----   ------     -- -----------                                                        &lt;br /&gt;     72       3     1012       7852    59            1492 notepad                                                            &lt;br /&gt;     72       3     1012       7800    59            3368 notepad                                                            &lt;br /&gt;     72       3     1020       7960    59            5480 notepad                                                            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#0000ff'&gt;Compare-Object&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$gp_a&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$gp_b&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt;             &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;Where-object&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;SideIndicator&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-ne&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'=='&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt;             &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;Select&lt;/span&gt;  &lt;span style='color:#000080'&gt;-ExpandProperty&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;InputObject&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Trying to use Compare-Object on the results of get-Process, as recommended in http://technet.microsoft.com/en-us/library/ee156812.aspx I get a wrong result&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;br /&gt;PS C:\Var\bin&gt; Compare-Object $gp_a $gp_b | &lt;br /&gt;    Where-object {$_.SideIndicator -ne '=='} | &lt;br /&gt;    Select  -ExpandProperty InputObject&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName                                                        &lt;br /&gt;-------  ------    -----      ----- -----   ------     -- -----------                                                        &lt;br /&gt;     13       1      284         60     2            5480 notepad                                                            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Compare-Object&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$gwmip_a&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$gwmip_b&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt;             &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;Where-object&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;SideIndicator&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-ne&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'=='&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Inputobject&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;Select&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;ProcessId&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Name&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;while good old WMI gives the correct answer&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;br /&gt;PS C:\Var\bin&gt; (Compare-Object $gwmip_a $gwmip_b | &lt;br /&gt;    Where-object {$_.SideIndicator -ne '=='}).Inputobject |&lt;br /&gt;    Select ProcessId, Name&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                                     ProcessId Name                                                          &lt;br /&gt;                                                     --------- ----                                                          &lt;br /&gt;                                                          2272 notepad.exe                                                   &lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The documentation of Compare-Object contains the funny sentense:&lt;br /&gt;&lt;blockquote&gt;The result of the comparison indicates whether a property value appeared only in the object from the Reference set (indic&lt;br /&gt;    ated by the &lt;= symbol), only in the object from the Difference set (indicated by the =&gt; symbol) or, if the IncludeEqual p&lt;br /&gt;    arameter is specified, in both objects (indicated by the == symbol).&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Does it chose a property by incident and in the case of Get-Process, does it use ProcessName instead of Id ?&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;Is there someone who can tell more about the logic Compare-Object uses to determine whether two objects are the same.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-101741166999985761?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/101741166999985761/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2009/12/compare-object-get-wmiobject.html#comment-form' title='2 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/101741166999985761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/101741166999985761'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2009/12/compare-object-get-wmiobject.html' title='Compare-Object &amp; get-wmiobject win32_process does it right'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-4161473783677209798</id><published>2009-12-27T05:31:00.000-08:00</published><updated>2009-12-27T05:55:25.964-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-Process'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='Compare-Object'/><title type='text'>Small Get-Process Puzzle</title><content type='html'>Hello PowerShell folks,&lt;br /&gt;&lt;br /&gt;here I have a small puzzle for you. Please start only one instance of PowerShell odr PowerShell_ISE and run the following script.&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#ff4500'&gt;$p1&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;get-process&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;powershell*&lt;/span&gt;             &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$p2&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;get-process&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;powershell*&lt;/span&gt;             &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$p1&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$p2&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$p1&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$p2&lt;/span&gt;            &lt;br /&gt;&lt;br /&gt;&lt;span style='color:#0000ff'&gt;Compare-Object&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$p1&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$p2&lt;/span&gt; &lt;span style='color:#000080'&gt;-IncludeEqual&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This time I'm not confuesed, that Compare-Object tells that both processes are equal. This time I wonder why $p1 is not equal To $p2.&lt;br /&gt;&lt;br /&gt;When you invoke $p1 a number of times, you will see that the value CPU(s) increases. My natural expectation here is same PID same process.&lt;br /&gt;&lt;br /&gt;Is this a PowerShell or a .NET issue ?&lt;br /&gt;Do I better keep using WMI?&lt;br /&gt;&lt;br /&gt;I get the rather strange feeling 'The more I learn, the less I know'.&lt;br /&gt;&lt;br /&gt;Bernd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-4161473783677209798?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/4161473783677209798/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2009/12/small-get-process-puzzle.html#comment-form' title='3 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/4161473783677209798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/4161473783677209798'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2009/12/small-get-process-puzzle.html' title='Small Get-Process Puzzle'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-3739262239478518532</id><published>2009-12-25T09:13:00.000-08:00</published><updated>2009-12-25T09:55:37.244-08:00</updated><title type='text'>Compare-Object works different</title><content type='html'>Sorry Mr. Snover. I don't grock the way Compare-Object is &lt;span style="font-weight:bold;"&gt;intented &lt;/span&gt;to work.&lt;br /&gt;&lt;br /&gt;Or I'm just misinterpreting the examples in http://technet.microsoft.com/en-us/library/ee156812.aspx for a second time.&lt;br /&gt;&lt;br /&gt;The first time I was led to think, that Compare-Object is a good basis to produce diffs of text files. It hardly is capable to tell whether they are equal or different.&lt;br /&gt;&lt;br /&gt;This time I thought it adequat to determine the processes which where started between two calls of GET-Process. &lt;br /&gt;Well it correctly tells the name of the processes involved, but having a lot of chrome processes&lt;br /&gt;(Chrome Plus to be precise) I do not get the PID of correct chrome process stopped.&lt;br /&gt;And for me a process is it primary it's PID and not it's name.&lt;br /&gt;&lt;br /&gt;With a little work around I get Compare-Object to work here as &lt;span style="font-weight:bold;"&gt;expected&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Get-ProcessProperty&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt; &lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#add8e6'&gt;CmdletBinding&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;PARAM&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$process&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'*'&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;             &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$timestamp&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"{0:T}"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-f&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Get-Date&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;                &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$hash1&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;Get-Process&lt;/span&gt; &lt;span style='color:#000080'&gt;-Name&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$process&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;%&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$hash2&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#006400'&gt;#$hash2['Time'] =  $timestamp &lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$hash2&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#8b0000'&gt;'Name'&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;  &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;name&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#006400'&gt;#$hash2['CPU']  =  $_.CPU&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#006400'&gt;#$hash2['PM']   =   "{0,3:f0}" -f ( $_.PM  / 1MB )&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#006400'&gt;#$hash2['NPM']  =   "{0,4:f1}" -f ( $_.NPM  / 1KB )&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#006400'&gt;#... add further properties above&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$hash1&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Id&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;  &lt;span style='color:#ff4500'&gt;$hash2&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$hash1&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$psold&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;get-ProcessProperty&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#8b0000'&gt;'\PhysicalDisk(_total)\Current Disk Queue Length'&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;              &lt;br /&gt;&lt;span style='color:#8b0000'&gt;'\PhysicalDisk(_total)\Disk Transfers/sec'&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-Counter&lt;/span&gt; &lt;span style='color:#000080'&gt;-cont&lt;/span&gt; &lt;span style='color:#000080'&gt;-sample&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt;&lt;span style='color:#0000ff'&gt;%&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$timestamp&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"{0:T}"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-f&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Timestamp&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$diskQueue&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;  &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CounterSamples&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#800080'&gt;0&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CookedValue&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$transfer&lt;/span&gt;  &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;  &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CounterSamples&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#800080'&gt;1&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CookedValue&lt;/span&gt;             &lt;br /&gt;                &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$msg&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"{0}  {1,4:f0} {2,4:f0}"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-f&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$timestamp&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$diskQueue&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$transfer&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$psnew&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;get-ProcessProperty&lt;/span&gt;            &lt;br /&gt;                &lt;br /&gt;    &lt;span style='color:#006400'&gt;# Show Processes that started or stopped&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;Compare-Object&lt;/span&gt; &lt;span style='color:#000000'&gt;@(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$psold&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;keys&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;@(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$psnew&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;keys&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt;&lt;span style='color:#0000ff'&gt;%&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$Id&lt;/span&gt;  &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;inputObject&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Sideindicator&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'=&gt;'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$Name&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$psnew&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$id&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Name&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#8b0000'&gt;"$timestamp Start   $Id $Name"&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Sideindicator&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'&lt;='&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#ff4500'&gt;$Name&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$psold&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$id&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Name&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#8b0000'&gt;"$timestamp         $Id $Name   stop"&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$psold&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psnew&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# the following code is special to a problem on my Windows 7 installation    &lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# my problem is, when Current Disk Queue Length &gt; 0, but Disk Transfers/sec 0 &lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$diskQueue&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-gt&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-and&lt;/span&gt;  &lt;span style='color:#ff4500'&gt;$transfer&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-eq&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$msg&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;                    &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-3739262239478518532?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/3739262239478518532/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2009/12/compare-object-works-different.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/3739262239478518532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/3739262239478518532'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2009/12/compare-object-works-different.html' title='Compare-Object works different'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-1211675845764132839</id><published>2009-12-25T03:03:00.000-08:00</published><updated>2009-12-25T04:40:23.147-08:00</updated><title type='text'>Using PowerShell to log Start and Stop of Processes and watch some counters</title><content type='html'>Merry Christmas everyone.&lt;br /&gt;&lt;br /&gt;Today I show a little of PowerShell script, which logs when processes start and when they end.&lt;br /&gt;&lt;br /&gt;I wrote it, because I have a very unique problem with my Windows 7. Every now and then (that may be between 10 minutes and 4 hours, my system becomes unresponsive for about 60 seconds, while the the hard drive does some mystic thing.&lt;br /&gt;After a lot of logging with PowerShell I came to the conclusion, that there is a definite correspondance between the length of the Current Disk Queue Length and my problem. Especially when Disk Transfers/sec stays at 0.&lt;br /&gt;&lt;br /&gt;The current script helps me to determine the exact time when the problem occurs.&lt;br /&gt;But I didn't yet find any corresponding entries in the event-log nor could I determine the process causing this issue.&lt;br /&gt;&lt;br /&gt;&lt;pre class="PowerShellColorizedScript"&gt;           &lt;br /&gt;          &lt;br /&gt;&lt;span style="color: rgb(255, 69, 0);"&gt;$psold&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;get-Process&lt;/span&gt;           &lt;br /&gt;          &lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;           &lt;br /&gt;&lt;span style="color: rgb(139, 0, 0);"&gt;'\PhysicalDisk(_total)\Current Disk Queue Length'&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;,&lt;/span&gt;             &lt;br /&gt;&lt;span style="color: rgb(139, 0, 0);"&gt;'\PhysicalDisk(_total)\Disk Transfers/sec'&lt;/span&gt;           &lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;|&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Get-Counter&lt;/span&gt; &lt;span style="color: rgb(0, 0, 128);"&gt;-cont&lt;/span&gt; &lt;span style="color: rgb(0, 0, 128);"&gt;-sample&lt;/span&gt; &lt;span style="color: rgb(128, 0, 128);"&gt;1&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;|&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;%&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;           &lt;br /&gt;   &lt;span style="color: rgb(255, 69, 0);"&gt;$timestamp&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(139, 0, 0);"&gt;"{0:T}"&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;-f&lt;/span&gt; &lt;span style="color: rgb(255, 69, 0);"&gt;$_&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Timestamp&lt;/span&gt;           &lt;br /&gt;          &lt;br /&gt;   &lt;span style="color: rgb(255, 69, 0);"&gt;$diskQueue&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;=&lt;/span&gt;  &lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 69, 0);"&gt;$_&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;CounterSamples&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;CookedValue&lt;/span&gt;           &lt;br /&gt;   &lt;span style="color: rgb(255, 69, 0);"&gt;$transfer&lt;/span&gt;  &lt;span style="color: rgb(169, 169, 169);"&gt;=&lt;/span&gt;  &lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 69, 0);"&gt;$_&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;CounterSamples&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;CookedValue&lt;/span&gt;            &lt;br /&gt;              &lt;br /&gt;   &lt;span style="color: rgb(255, 69, 0);"&gt;$msg&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(139, 0, 0);"&gt;"{0}  {1,4:f0} {2,4:f0}"&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;-f&lt;/span&gt; &lt;span style="color: rgb(255, 69, 0);"&gt;$timestamp&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(255, 69, 0);"&gt;$diskQueue&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(255, 69, 0);"&gt;$transfer&lt;/span&gt;           &lt;br /&gt;          &lt;br /&gt;   &lt;span style="color: rgb(255, 69, 0);"&gt;$psnew&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;get-Process&lt;/span&gt;           &lt;br /&gt;              &lt;br /&gt;   &lt;span style="color: rgb(0, 100, 0);"&gt;# Show Processes that started or stopped&lt;/span&gt;           &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 255);"&gt;Compare-Object&lt;/span&gt; &lt;span style="color: rgb(255, 69, 0);"&gt;$psold&lt;/span&gt; &lt;span style="color: rgb(255, 69, 0);"&gt;$psnew&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;|&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;%&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;           &lt;br /&gt;       &lt;span style="color: rgb(255, 69, 0);"&gt;$ipo&lt;/span&gt;  &lt;span style="color: rgb(169, 169, 169);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(255, 69, 0);"&gt;$_&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;inputObject&lt;/span&gt;           &lt;br /&gt;       &lt;span style="color: rgb(255, 69, 0);"&gt;$Name&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(255, 69, 0);"&gt;$ipo&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ProcessName&lt;/span&gt;           &lt;br /&gt;       &lt;span style="color: rgb(255, 69, 0);"&gt;$Id&lt;/span&gt;   &lt;span style="color: rgb(169, 169, 169);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(255, 69, 0);"&gt;$ipo&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Id&lt;/span&gt;           &lt;br /&gt;       &lt;span style="color: rgb(0, 0, 139);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 69, 0);"&gt;$_&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Sideindicator&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;-eq&lt;/span&gt; &lt;span style="color: rgb(139, 0, 0);"&gt;'=&gt;'&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;           &lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;           &lt;br /&gt;           &lt;span style="color: rgb(139, 0, 0);"&gt;"$timestamp Start   $Id $Name"&lt;/span&gt;           &lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;           &lt;br /&gt;       &lt;span style="color: rgb(0, 0, 139);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 69, 0);"&gt;$_&lt;/span&gt;&lt;span style="color: rgb(169, 169, 169);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Sideindicator&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;-eq&lt;/span&gt; &lt;span style="color: rgb(139, 0, 0);"&gt;'&lt;='&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;           &lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;           &lt;br /&gt;           &lt;span style="color: rgb(139, 0, 0);"&gt;"$timestamp Stop    $Id $Name"&lt;/span&gt;           &lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;           &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;           &lt;br /&gt;   &lt;span style="color: rgb(255, 69, 0);"&gt;$psold&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(255, 69, 0);"&gt;$psnew&lt;/span&gt;           &lt;br /&gt;          &lt;br /&gt;   &lt;span style="color: rgb(0, 100, 0);"&gt;# the following code is special to a problem on my Windows 7 installation    &lt;/span&gt;           &lt;br /&gt;   &lt;span style="color: rgb(0, 100, 0);"&gt;# my problem is, when Current Disk Queue Length &gt; 0, but Disk Transfers/sec 0 &lt;/span&gt;           &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 139);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 69, 0);"&gt;$diskQueue&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;-gt&lt;/span&gt; &lt;span style="color: rgb(128, 0, 128);"&gt;0&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;-and&lt;/span&gt;  &lt;span style="color: rgb(255, 69, 0);"&gt;$transfer&lt;/span&gt; &lt;span style="color: rgb(169, 169, 169);"&gt;-eq&lt;/span&gt; &lt;span style="color: rgb(128, 0, 128);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;           &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;           &lt;br /&gt;       &lt;span style="color: rgb(255, 69, 0);"&gt;$msg&lt;/span&gt;           &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;                   &lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;/pre&gt;A typical output on my system looks like this&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;PS C:\Var\bin&gt; C:\Var\bin\topics\Perfmon\disk2.ps1&lt;br /&gt;11:49:28 Start   7840 MultipleFirefoxLoader&lt;br /&gt;11:49:30 Start   7036 firefox&lt;br /&gt;11:49:30 Stop    7840 MultipleFirefoxLoader&lt;br /&gt;11:50:16 Stop    6176 SearchFilterHost&lt;br /&gt;11:50:16 Stop    3664 SearchProtocolHost&lt;br /&gt;11:50:31 Stop    7036 firefox&lt;br /&gt;11:50:44 Stop    1936 WmiPrvSE&lt;br /&gt;11:51:23     1    0&lt;br /&gt;11:52:44     1    0&lt;br /&gt;11:54:44     1    0&lt;br /&gt;11:54:47     1    0&lt;br /&gt;11:54:48     1    0&lt;br /&gt;11:54:49     1    0&lt;br /&gt;11:54:51     4    0&lt;br /&gt;11:54:52     4    0&lt;br /&gt;11:54:53     9    0&lt;br /&gt;11:54:54     9    0&lt;br /&gt;11:54:55    10    0&lt;br /&gt;11:54:56    10    0&lt;br /&gt;11:54:57    10    0&lt;br /&gt;11:54:59    10    0&lt;br /&gt;11:55:00    11    0&lt;br /&gt;11:55:01    11    0&lt;br /&gt;11:55:02    11    0&lt;br /&gt;11:55:03    11    0&lt;br /&gt;11:55:04    11    0&lt;br /&gt;11:55:05    11    0&lt;br /&gt;11:55:06    11    0&lt;br /&gt;11:55:08    11    0&lt;br /&gt;11:55:09    11    0&lt;br /&gt;11:55:10    11    0&lt;br /&gt;11:55:11    12    0&lt;br /&gt;11:55:12    15    0&lt;br /&gt;11:55:13 Start   3252 audiodg&lt;br /&gt;11:55:13    16    0&lt;br /&gt;11:55:14    17    0&lt;br /&gt;11:55:16    17    0&lt;br /&gt;11:55:17    17    0&lt;br /&gt;11:55:18    17    0&lt;br /&gt;11:55:19    18    0&lt;br /&gt;11:55:20 Start   5028 svchost&lt;br /&gt;11:55:20    19    0&lt;br /&gt;11:55:21    19    0&lt;br /&gt;11:55:23    19    0&lt;br /&gt;11:55:24    20    0&lt;br /&gt;11:55:25    20    0&lt;br /&gt;11:55:26    20    0&lt;br /&gt;11:55:27    20    0&lt;br /&gt;11:55:28    20    0&lt;br /&gt;11:55:29    20    0&lt;br /&gt;11:55:31    20    0&lt;br /&gt;11:55:32    20    0&lt;br /&gt;11:55:33    21    0&lt;br /&gt;11:55:34    21    0&lt;br /&gt;11:55:35    21    0&lt;br /&gt;11:55:36    21    0&lt;br /&gt;11:55:37    22    0&lt;br /&gt;11:55:38    22    0&lt;br /&gt;11:55:40    22    0&lt;br /&gt;11:55:41    22    0&lt;br /&gt;11:56:12 Stop    7712 chrome&lt;br /&gt;11:56:28 Start   7712 chrome&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;In Resource Monitor that looks like this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_h-3jATJiW1g/SzSx2gOBDlI/AAAAAAAAAj4/58KKvV6baLs/s1600-h/2009-12-25_01.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_h-3jATJiW1g/SzSx2gOBDlI/AAAAAAAAAj4/58KKvV6baLs/s320/2009-12-25_01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5419151801553325650" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-1211675845764132839?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/1211675845764132839/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2009/12/using-powershell-to-log-start-and-stop.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/1211675845764132839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/1211675845764132839'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2009/12/using-powershell-to-log-start-and-stop.html' title='Using PowerShell to log Start and Stop of Processes and watch some counters'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_h-3jATJiW1g/SzSx2gOBDlI/AAAAAAAAAj4/58KKvV6baLs/s72-c/2009-12-25_01.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-5232013446028548795</id><published>2009-12-05T01:12:00.000-08:00</published><updated>2009-12-05T01:55:36.074-08:00</updated><title type='text'>Using PowerShell to filter the eventlog</title><content type='html'>Since I'm using Windows 7 in a domain where we use &lt;span style="font-weight:bold;"&gt;Microsoft Forefront Client Security&lt;/span&gt; I have a little problem. About every 60 minutes my computer becomes unresponsive for about 60 seconds, the hard disk led is on.&lt;br /&gt;&lt;br /&gt;In the Application Eventlog I find pairs of Events 21268, 21269. Googling around I seem to be the only one with this special problem. &lt;br /&gt;&lt;br /&gt;Some hints say my domain admin has to change some settings, so that my local computer can increase a local buffer. Chances to convince the forefront guys that they do some real nonsence here ( why not just ask me, whether I allow to increase the buffer) or to convince my admin to get some advice from his forefront consultant seem very low.&lt;br /&gt;&lt;br /&gt;What the hell fills the buffer. Looking at the Security log, I see that there are lots of audit Failures.&lt;br /&gt;&lt;br /&gt;OK, I'm not interessted in audit fails, I don't want to log them. No chance some domain policy doesn't allow me to switch off auditing of rejected packages.&lt;br /&gt;&lt;br /&gt;Oh funny thing: I'm allowed to disable the firewall. I'm not going to try this option.&lt;br /&gt;&lt;br /&gt;It's time to look deeper into Microsoft Eventlogs.&lt;br /&gt;&lt;br /&gt;Seems they are very legacy application, like ipconfig and inifiles. Main information is returned as name:value pairs in plan text.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The Windows Filtering Platform has blocked a connection.&lt;br /&gt;&lt;br /&gt;Application Information:&lt;br /&gt; Process ID:  1020&lt;br /&gt; Application Name: \device\harddiskvolume2\windows\system32\svchost.exe&lt;br /&gt;&lt;br /&gt;Network Information:&lt;br /&gt; Direction:  Inbound&lt;br /&gt; Source Address:  192.168.1.33&lt;br /&gt; Source Port:  60100&lt;br /&gt; Destination Address: 168.143.162.100&lt;br /&gt; Destination Port:  443&lt;br /&gt; Protocol:  0&lt;br /&gt;&lt;br /&gt;Filter Information:&lt;br /&gt; Filter Run-Time ID: 212121&lt;br /&gt; Layer Name:  Receive/Accept&lt;br /&gt; Layer Run-Time ID: 44&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;It's time to use a little PowerShell, to convert eventlog data to properties of PowerShell objects, which can be grouped etc.&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Convert-PairToProperty2&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;process&lt;/span&gt;             &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$hash&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                 &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-split&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"`r?`n"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;%&lt;/span&gt;  &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$m&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#008080'&gt;[regex]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;::&lt;/span&gt;&lt;span style='color:#000000'&gt;Matches&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;&lt;span style='color:#8b0000'&gt;'(\w.*?):\s*(.*)'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;;&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$m&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#800080'&gt;0&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;             &lt;br /&gt;            &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;#             Write-Host  $m[0].groups[1].value&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;#             Write-Host $m[0].groups[2].value&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#ff4500'&gt;$hash&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$m&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#800080'&gt;0&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;groups&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#800080'&gt;1&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;value&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$m&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#800080'&gt;0&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;groups&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#800080'&gt;2&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;value&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;            &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;         &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#0000ff'&gt;New-Object&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;PSObject&lt;/span&gt; &lt;span style='color:#000080'&gt;-Property&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$hash&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$False&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#8b0000'&gt;'abc:123&lt;br /&gt;efg:456'&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Convert-PairToProperty2&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;!&lt;/span&gt;  &lt;span style='color:#ff4500'&gt;$seclog_1000&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;Write-host&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Collecting last 1000 packets rejected"&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Measure-Command&lt;/span&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$seclog_1000&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;get-Eventlog&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;security&lt;/span&gt; &lt;span style='color:#000080'&gt;-InstanceId&lt;/span&gt; &lt;span style='color:#800080'&gt;5152&lt;/span&gt; &lt;span style='color:#000080'&gt;-newest&lt;/span&gt; &lt;span style='color:#800080'&gt;1000&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;select&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;message&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Milliseconds&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;else&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;'Using $seclog_1000'&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$time_property2&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Measure-Command&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$property2&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$seclog_1000&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Convert-PairToProperty2&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#8b0000'&gt;"needed $($time_property2.Milliseconds) for property2"&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$property2&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt;&lt;span style='color:#0000ff'&gt;group-object&lt;/span&gt; &lt;span style='color:#000080'&gt;-property&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'Source Address'&lt;/span&gt; &lt;span style='color:#000080'&gt;-noelement&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Sort-object&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;count&lt;/span&gt; &lt;span style='color:#000080'&gt;-desc&lt;/span&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you are taking a closer look, you see that I used http://blogs.msdn.com/powershell/archive/2009/12/05/new-object-psobject-property-hashtable.aspx to convert a hash to properties.&lt;br /&gt;&lt;br /&gt;I tried different variants, but performance measurements don't show clear preferences for one or the other. &lt;br /&gt;&lt;br /&gt;What I got is clear information which ip address causes most rejected packages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-5232013446028548795?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/5232013446028548795/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2009/12/using-powershell-to-filter-eventlog.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/5232013446028548795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/5232013446028548795'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2009/12/using-powershell-to-filter-eventlog.html' title='Using PowerShell to filter the eventlog'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-2714419729036096103</id><published>2009-11-26T10:57:00.000-08:00</published><updated>2009-11-26T11:10:56.173-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nested lists'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>And now using the data to generate sql INSERT-statements</title><content type='html'>Before SQL-Serve 2008 sql bulks of SQL Insert-Statements are so redundant, that they are not readable. &lt;br /&gt;Of corse, if you are too clever you ommit the column list after INSERT INTO.&lt;br /&gt;Try it and learn it the hard way.&lt;br /&gt;&lt;br /&gt;One of my common tasks is generating Insert Statements. Perhaps this way:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#ff4500'&gt;$list&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;             &lt;br /&gt;    &lt;span style='color:#000000'&gt;(&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'PS'&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;      &lt;span style='color:#8b0000'&gt;'PowerShell is the most inovative scripting language'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;(&lt;/span&gt; &lt;span style='color:#800080'&gt;2&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'Python'&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;  &lt;span style='color:#8b0000'&gt;'has the most concise formating'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;(&lt;/span&gt; &lt;span style='color:#800080'&gt;3&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'Algol60'&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'the mother of quoted identifiers'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;(&lt;/span&gt; &lt;span style='color:#800080'&gt;4&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'Algol68'&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'the root of array slicing'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;(&lt;/span&gt; &lt;span style='color:#800080'&gt;5&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'c#'&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;      &lt;span style='color:#8b0000'&gt;'if only you were caseinsentitiv casesensitivity is ORACLE''s greates fault'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;(&lt;/span&gt; &lt;span style='color:#800080'&gt;6&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'SQL'&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;     &lt;span style='color:#8b0000'&gt;'has an Insert syntax which is worse than Street Basic''s Data-Statement &lt;br /&gt;                        (where we put the assembler code you remember)'&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;             &lt;br /&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;foreach&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$item&lt;/span&gt; &lt;span style='color:#00008b'&gt;in&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$list&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$id&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$code&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$note&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$item&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$note&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$note&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-replace&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"'"&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"''"&lt;/span&gt;  &lt;span style='color:#006400'&gt;# you have to double embedded apostrophes&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"insert into Computer_Languages ( Id, Code, Note) values ( $id, '$code', '$note')"&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-2714419729036096103?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/2714419729036096103/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2009/11/and-now-using-data-to-generate-sql.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/2714419729036096103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/2714419729036096103'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2009/11/and-now-using-data-to-generate-sql.html' title='And now using the data to generate sql INSERT-statements'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-4632907201876476595</id><published>2009-11-26T08:59:00.000-08:00</published><updated>2009-11-26T09:07:38.686-08:00</updated><title type='text'>Background to problem with nested data structures</title><content type='html'>Thanks Jeff for the quick response. For some reasons I memorized the following pattern:&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#ff4500'&gt;$list&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@(&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#800080'&gt;1&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;&lt;span style='color:#800080'&gt;2&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#800080'&gt;3&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;&lt;span style='color:#800080'&gt;4&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$list&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;count&lt;/span&gt;            &lt;br /&gt;             &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;which flattens the structure and yields 4 instaed of the correct syntax&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#ff4500'&gt;$list&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#800080'&gt;1&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;&lt;span style='color:#800080'&gt;2&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#800080'&gt;3&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt;&lt;span style='color:#800080'&gt;4&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$list&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;count&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;which yields 2&lt;br /&gt;&lt;br /&gt;Once using the wrong pattern there is no escape without help.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-4632907201876476595?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/4632907201876476595/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2009/11/background-to-problem-with-nested-data.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/4632907201876476595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/4632907201876476595'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2009/11/background-to-problem-with-nested-data.html' title='Background to problem with nested data structures'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-6408955464200860023</id><published>2009-11-26T07:10:00.000-08:00</published><updated>2009-11-26T07:12:00.500-08:00</updated><title type='text'>In Python it would be basic. in PowerShell ???</title><content type='html'>I hope there is a better solution in Powershell to build $list &lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#ff4500'&gt;$list&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;add-Tupple&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$index&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$list&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;count&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$global:list&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;+=&lt;/span&gt; &lt;span style='color:#800080'&gt;1&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$global:list&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$index&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$args&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;add-Tupple&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'Ps'&lt;/span&gt;     &lt;span style='color:#8b0000'&gt;'has object pipelines'&lt;/span&gt;             &lt;br /&gt;&lt;span style='color:#0000ff'&gt;add-Tupple&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'Python'&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'has natural nested datastructures'&lt;/span&gt;                &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#ff4500'&gt;$list&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;count&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;foreach&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$item&lt;/span&gt; &lt;span style='color:#00008b'&gt;in&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$list&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$code&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$name&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$item&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Code: $code"&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#8b0000'&gt;"Name: $name"&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#006400'&gt;# in python (('Ps', 'has object pipelines'), ('Python', 'has natural nested datastructures'))   &lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-6408955464200860023?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/6408955464200860023/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2009/11/in-python-it-would-be-basic-in.html#comment-form' title='2 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6408955464200860023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/6408955464200860023'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2009/11/in-python-it-would-be-basic-in.html' title='In Python it would be basic. in PowerShell ???'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-4976750318375210125</id><published>2009-11-15T03:55:00.000-08:00</published><updated>2009-11-15T04:41:38.718-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ISE'/><title type='text'>Manage Modules The ISE Way</title><content type='html'>Hello again&lt;br /&gt;&lt;br /&gt;Last month we got a lot of modules to try. Example given &lt;a href="http://code.msdn.microsoft.com/PowerShellPack"&gt;PowerShellPack&lt;/a&gt; or &lt;a href="http://code.msdn.microsoft.com/bsonposh"&gt;BSonPosh Powershell Module&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Of corse you do not want to add all the modules you find to your profile. &lt;br /&gt;To be honest isepack is the only module I load in my profile. &lt;br /&gt;I just added a smal script to my personal toolbox of ISE Add-On Extensions.&lt;br /&gt;&lt;br /&gt;It adds and removes modules, list the currently loaded and shows the files of a module.&lt;br /&gt;&lt;br /&gt;Pleae be warned, not all modules are writen to be removed, e.g. ispack does not remove its menus, when removed. But you have a starting point to play with.&lt;br /&gt;&lt;br /&gt;And thanks again to James Brundage, whoes Copy-ColoredHTML (it's in the ISEpack module of the PowerShellPack) makes posting PowerShell code so easy.&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Update-ModuleMenu&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$all_modules&lt;/span&gt;    &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;get-module&lt;/span&gt; &lt;span style='color:#000080'&gt;-list&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$loaded_modules&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;get-module&lt;/span&gt;             &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$remove_items&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;  &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$loaded_modules&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;%&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$name&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;name&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$remove_items&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;name&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Remove-module $name; Update-ModuleMenu"&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$add_items&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$all_modules&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;?&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;!&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$loaded_modules&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-contains&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt; &lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;%&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$name&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;name&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$add_items&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;name&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Import-module $name; Update-ModuleMenu"&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$list_items&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$all_modules&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;%&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$list_items&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$_&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;name&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"gci (split-path (get-module $_ -list).Path) | select Name"&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$items&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;@{&lt;/span&gt;             &lt;br /&gt;                &lt;span style='color:#8b0000'&gt;"  loaded"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#000000'&gt;{&lt;/span&gt;&lt;span style='color:#0000ff'&gt;Get-Module&lt;/span&gt;      &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Sort-object&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;select&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;name&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;path&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;|&lt;/span&gt; &lt;span style='color:#0000ff'&gt;fl&lt;/span&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#8b0000'&gt;" add"&lt;/span&gt;    &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$add_items&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#8b0000'&gt;" remove"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$remove_items&lt;/span&gt;             &lt;br /&gt;                &lt;span style='color:#8b0000'&gt;"files"&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$list_items&lt;/span&gt;            &lt;br /&gt;                &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;#$items&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#0000ff'&gt;Add-IseMenu&lt;/span&gt; &lt;span style='color:#000080'&gt;-name&lt;/span&gt; &lt;span style='color:#8b0000'&gt;'Module'&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$items&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#0000ff'&gt;Update-ModuleMenu&lt;/span&gt;            &lt;br /&gt;             &lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8903006743421146366-4976750318375210125?l=pauerschell.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauerschell.blogspot.com/feeds/4976750318375210125/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://pauerschell.blogspot.com/2009/11/manage-modules-ise-way.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/4976750318375210125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8903006743421146366/posts/default/4976750318375210125'/><link rel='alternate' type='text/html' href='http://pauerschell.blogspot.com/2009/11/manage-modules-ise-way.html' title='Manage Modules The ISE Way'/><author><name>Bernd Kriszio</name><uri>http://www.blogger.com/profile/03294997372899922987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/blogger2/3575/491157479657423/1600/bernd2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8903006743421146366.post-5866140605999396636</id><published>2009-11-12T23:36:00.000-08:00</published><updated>2009-11-12T23:42:43.741-08:00</updated><title type='text'>Reload-ISE - Part III</title><content type='html'>I added some code to save using different encodings and to show the encoding of the current file.&lt;br /&gt;&lt;br /&gt;I thought default for new files was utf8. Surprize it is BigEndianUnicode. But as long as it uses a BOM-Mark i will not complain. (Otherwise read my comments. ;-) )&lt;br /&gt;&lt;br /&gt;Play and learn.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class='PowerShellColorizedScript'&gt;            &lt;br /&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#add8e6'&gt;cmdletbinding&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;param&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# use this switch, when you have ISEpack installed and want a default menu added&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# import-module isepack&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# . &lt;this file&gt; -ISEpackCX&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#008080'&gt;[switch]&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$ISEpackCX&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style='color:#00008b'&gt;function&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;Reload-ISE&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;             &lt;br /&gt;&lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;   &lt;span style='color:#006400'&gt;&lt;#&lt;br /&gt;    .Synopsis&lt;br /&gt;        Reload file asuming given encoding&lt;br /&gt;    .Description&lt;br /&gt;        Reload the file in the current editor asuming given encoding, &lt;br /&gt;        the file is not saved automatically. You can try other encondings on&lt;br /&gt;        the unmodified file.&lt;br /&gt;    .Example&lt;br /&gt;        Reload-ISE utf8&lt;br /&gt;        Reloads the file asuming utf8 encoding. This is useful when the file&lt;br /&gt;        has no BOM&lt;br /&gt;    .Example&lt;br /&gt;        Reload-ISE&lt;br /&gt;        Prompts for a codepage number and reloads the file using it&lt;br /&gt;    .LINK&lt;br /&gt;        Script posted to: &lt;br /&gt;        http://pauerschell.blogspot.com&lt;br /&gt;        by Bernd Kriszio (twitter: bernd_k)&lt;br /&gt;    .Parameter encoding&lt;br /&gt;        encodings known to  Get-Content:&lt;br /&gt;        Unknown, String, Unicode, Byte, BigEndianUnicode, UTF8, UTF7, Ascii&lt;br /&gt;        for a list of valid codepages see&lt;br /&gt;        http://msdn.microsoft.com/en-us/library/system.text.encodinginfo.aspx&lt;br /&gt;     .NOTES&lt;br /&gt;        use -verbose to show the current encoding of the reloaded file&lt;br /&gt;        and RMFC  read my f... comments&lt;br /&gt;    #&gt;&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#add8e6'&gt;cmdletbinding&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;param&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#006400'&gt;# encoding to use for reloading&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#add8e6'&gt;Parameter&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;Position&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#000000'&gt;Mandatory&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$True&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$encoding&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$path&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psise&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentFile&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$fullpath&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$path&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;FullPath&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#8b0000'&gt;"String"&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"UTF8"&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"UTF7"&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Ascii"&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"Unicode"&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;,&lt;/span&gt; &lt;span style='color:#8b0000'&gt;"BigEndianUnicode"&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-contains&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$encoding&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$text&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;Get-Content&lt;/span&gt; &lt;span style='color:#000080'&gt;-Encoding&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$encoding&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$fullpath&lt;/span&gt; &lt;span style='color:#000080'&gt;-ReadCount&lt;/span&gt; &lt;span style='color:#800080'&gt;0&lt;/span&gt;  &lt;span style='color:#000080'&gt;-totalcount&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;-1&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$text&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$text&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;-join&lt;/span&gt;   &lt;span style='color:#8b0000'&gt;"`r`n"&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;else&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$encoding&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#008080'&gt;[int]&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$encoding&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$bytes&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#0000ff'&gt;get-content&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$fullpath&lt;/span&gt; &lt;span style='color:#000080'&gt;-encoding&lt;/span&gt; &lt;span style='color:#8a2be2'&gt;byte&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$encoding_obj&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#008080'&gt;[System.Text.Encoding]&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;::&lt;/span&gt;&lt;span style='color:#000000'&gt;GetEncoding&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$encoding&lt;/span&gt;  &lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$text&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$encoding_obj&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;GetString&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$bytes&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$loadToNewEditor&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$False&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;if&lt;/span&gt; &lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$loadToNewEditor&lt;/span&gt; &lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$count&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psise&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentPowerShellTab&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Files&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;count&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$psIse&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentPowerShellTab&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Files&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Add&lt;/span&gt;&lt;span style='color:#000000'&gt;(&lt;/span&gt;&lt;span style='color:#000000'&gt;)&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$Newfile&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$psIse&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentPowerShellTab&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Files&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;[&lt;/span&gt;&lt;span style='color:#ff4500'&gt;$count&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;]&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$Newfile&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Text&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$text&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#00008b'&gt;else&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;{&lt;/span&gt;            &lt;br /&gt;        &lt;span style='color:#ff4500'&gt;$psise&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;CurrentFile&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Editor&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt;span style='color:#000000'&gt;Text&lt;/span&gt; &lt;span style='color:#a9a9a9'&gt;=&lt;/span&gt; &lt;span style='color:#ff4500'&gt;$text&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#000000'&gt;}&lt;/span&gt;            &lt;br /&gt;    &lt;span style='color:#ff4500'&gt;$psISE&lt;/span&gt;&lt;span style='color:#a9a9a9'&gt;.&lt;/span&gt;&lt
