<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Richard Siddaway's Blog : Hidden Files</title><link>http://msmvps.com/blogs/richardsiddaway/archive/tags/Hidden+Files/default.aspx</link><description>Tags: Hidden Files</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Unblocking files</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/09/05/unblocking-files.aspx</link><pubDate>Sat, 05 Sep 2009 13:53:10 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1720949</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1720949</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/09/05/unblocking-files.aspx#comments</comments><description>&lt;p&gt;When I download files from the Internet to Vista or Windows 7 the file is blocked and I can’t execute it until its unblocked. This is especially annoying with zip files because if I unzip them all the contents are blocked. I have been meaning to do something in PowerShell for this and finally got round to it.&amp;#160; The blocking is because of a zone identifier in an alternate data stream (ADS) attached to the file. If you have been around PowerShell for any length of time you may remember MoWs post on this subject - &lt;a title="http://thepowershellguy.com/blogs/posh/archive/2007/01/27/powershell-accessing-alternative-data-streams-of-files-on-an-ntfs-volume.aspx" href="http://thepowershellguy.com/blogs/posh/archive/2007/01/27/powershell-accessing-alternative-data-streams-of-files-on-an-ntfs-volume.aspx"&gt;http://thepowershellguy.com/blogs/posh/archive/2007/01/27/powershell-accessing-alternative-data-streams-of-files-on-an-ntfs-volume.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This was my starting point but when went to download the file containing the .NET classes we need to access the ADS from &lt;a title="http://www.codeproject.com/KB/cs/ntfsstreams.aspx" href="http://www.codeproject.com/KB/cs/ntfsstreams.aspx"&gt;http://www.codeproject.com/KB/cs/ntfsstreams.aspx&lt;/a&gt; I found that the classes had been updated. So first off download the .NET stuff and extract the dll containing the classes (after unblocking the zip file).&lt;/p&gt;  &lt;p&gt;I decided to add this functionality into my module for working with files.&lt;/p&gt;  &lt;p&gt;First point is that I need to load the .NET assemblies from the dll.&amp;#160; I can do this in the .psd1 file by adding this line&lt;/p&gt;  &lt;p&gt;RequiredAssemblies = &amp;#39;Trinet.Core.IO.Ntfs.dll&amp;#39;&lt;/p&gt;  &lt;p&gt;I then added two functions into the module. One to test if a zone identifier exists and another to delete it&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:825px;padding-right:5px;font-family:consolas,lucida console;height:536px;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;005               &lt;br /&gt;006               &lt;br /&gt;007               &lt;br /&gt;008               &lt;br /&gt;009               &lt;br /&gt;010               &lt;br /&gt;011               &lt;br /&gt;012               &lt;br /&gt;013               &lt;br /&gt;014               &lt;br /&gt;015               &lt;br /&gt;016               &lt;br /&gt;017               &lt;br /&gt;018               &lt;br /&gt;019               &lt;br /&gt;020               &lt;br /&gt;021               &lt;br /&gt;022               &lt;br /&gt;023               &lt;br /&gt;024               &lt;br /&gt;025               &lt;br /&gt;026               &lt;br /&gt;027               &lt;br /&gt;028               &lt;br /&gt;029               &lt;br /&gt;030               &lt;br /&gt;031               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#00008b;"&gt;function&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;Test-ZoneIdentifier&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;param&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&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;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;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$file&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Test-Path&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$file&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#008080;"&gt;[Trinet.Core.IO.Ntfs.FileSystem]&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;::&lt;/span&gt;&lt;span style="color:#000000;"&gt;AlternateDataStreamExists&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;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;#39;Zone.Identifier&amp;#39;&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$fs&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#008080;"&gt;[Trinet.Core.IO.Ntfs.FileSystem]&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;::&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetAlternateDataStream&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;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;#39;Zone.Identifier&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$ads&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$fs&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;OpenText&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:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;ReadToEnd&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$type&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$ads&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SubString&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$ads&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;IndexOf&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;ZoneId=&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#800080;"&gt;7&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;&amp;#160;&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;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-as&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#008080;"&gt;[ZoneIdentifier]&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Write-Host&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Zone.Identifier present. Type $type If of Type Internet the file will be blocked.&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;else&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;span style="color:#008080;"&gt;[Trinet.Core.IO.Ntfs.FileSystem]&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;::&lt;/span&gt;&lt;span style="color:#000000;"&gt;ListAlternateDataStreams&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:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:#006400;"&gt;## test if other ADS &lt;/span&gt;              &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;else&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&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:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;File Not found&amp;quot;&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:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8a2be2;"&gt;Remove-ZoneIdentifier&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;param&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&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;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;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$file&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Test-Path&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$file&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#008080;"&gt;[Trinet.Core.IO.Ntfs.FileSystem]&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;::&lt;/span&gt;&lt;span style="color:#000000;"&gt;AlternateDataStreamExists&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;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;#39;Zone.Identifier&amp;#39;&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$fs&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#008080;"&gt;[Trinet.Core.IO.Ntfs.FileSystem]&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;::&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetAlternateDataStream&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;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;#39;Zone.Identifier&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$fs&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Delete&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#00008b;"&gt;else&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&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:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;File Not found&amp;quot;&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;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The Test-ZoneIdentifier function will accept a file from the pipeline and test the path to the file.&amp;#160; If the file exists the function will then test to see if a Zone.Identifer ADS exists. If it does it will read the ADS and work out the zone using the ZoneIdentifier enum which we create in the module as well.&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:818px;padding-right:5px;font-family:consolas,lucida console;height:192px;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;005               &lt;br /&gt;006               &lt;br /&gt;007               &lt;br /&gt;008               &lt;br /&gt;009               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#ff4500;"&gt;$values&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;NoZone = -1&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;MyComputer = 0&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Intranet = 1&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Trusted = 2&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Internet = 3&amp;quot;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Untrusted = 4&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$code&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;@&amp;quot;                &lt;br /&gt;&amp;#160; public enum ZoneIdentifier : int                 &lt;br /&gt;&amp;#160; {                 &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $($values -join &amp;quot;,`n&amp;quot;)                 &lt;br /&gt;&amp;#160; }                 &lt;br /&gt;&amp;quot;@&lt;/span&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;span style="color:#0000ff;"&gt;Add-Type&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$code&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This is adapted from MoWs code at &lt;a title="http://thepowershellguy.com/blogs/posh/archive/2008/06/02/powershell-v2-ctp2-making-custom-enums-using-add-type.aspx" href="http://thepowershellguy.com/blogs/posh/archive/2008/06/02/powershell-v2-ctp2-making-custom-enums-using-add-type.aspx"&gt;http://thepowershellguy.com/blogs/posh/archive/2008/06/02/powershell-v2-ctp2-making-custom-enums-using-add-type.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;A hash table could also be used at this point if preferred.&lt;/p&gt;  &lt;p&gt;The function Remove-ZoneIdentifier will delete the ADS and unblock the file.&amp;#160; By enabling these functions to work on the pipeline we can process a number of files in one hit.&lt;/p&gt;  &lt;p&gt;The functions are used as follows&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Import-Module filefunctions    &lt;br /&gt;PS&amp;gt; Get-ChildItem -Path c:\test\NtfsStreams.zip | Test-ZoneIdentifier     &lt;br /&gt;Zone.Identifier present. Type Internet&amp;#160; If of Type Internet the file will be blocked.     &lt;br /&gt;PS&amp;gt; Get-ChildItem -Path c:\test\NtfsStreams.zip | Remove-ZoneIdentifier     &lt;br /&gt;True     &lt;br /&gt;PS&amp;gt; Get-ChildItem -Path c:\test\NtfsStreams.zip | Test-ZoneIdentifier&lt;/p&gt; I’ve uploaded the module files to my skydrive at &lt;a title="http://cid-43cfa46a74cf3e96.skydrive.live.com/self.aspx/PowerShell%20Scripts/FileFunctions.zip" href="http://cid-43cfa46a74cf3e96.skydrive.live.com/self.aspx/PowerShell%20Scripts/FileFunctions.zip"&gt;http://cid-43cfa46a74cf3e96.skydrive.live.com/self.aspx/PowerShell%20Scripts/FileFunctions.zip&lt;/a&gt;   &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The ntfs streams dll you will need to download separately.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9f2217c5-2eb3-4886-9bf6-282d75f23945" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+v2" rel="tag"&gt;PowerShell v2&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Modules" rel="tag"&gt;Modules&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Alternate+data+streams" rel="tag"&gt;Alternate data streams&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1720949" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Modules/default.aspx">Modules</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Hidden+Files/default.aspx">Hidden Files</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/File+Attributes/default.aspx">File Attributes</category></item><item><title>Hidden Files</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/05/30/hidden-files.aspx</link><pubDate>Sat, 30 May 2009 13:33:36 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1693449</guid><dc:creator>Richard's space</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1693449</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/05/30/hidden-files.aspx#comments</comments><description>The last post got me thinking about hidden files and file attributes and how we can manipulate them in PowerShell. Lets start by creating a PowerShell script. PS&amp;gt; &amp;quot;&amp;#39;hello world&amp;#39;&amp;quot; &amp;gt; test.ps1 PS&amp;gt; ./test.ps1 We can see the file...(&lt;a href="http://msmvps.com/blogs/richardsiddaway/archive/2009/05/30/hidden-files.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1693449" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Powershell/default.aspx">Powershell</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Hidden+Files/default.aspx">Hidden Files</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/File+Attributes/default.aspx">File Attributes</category></item><item><title>Removing Hidden files</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/05/28/removing-hidden-files.aspx</link><pubDate>Thu, 28 May 2009 09:46:01 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1693305</guid><dc:creator>Richard's space</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/richardsiddaway/rsscomments.aspx?PostID=1693305</wfw:commentRss><comments>http://msmvps.com/blogs/richardsiddaway/archive/2009/05/28/removing-hidden-files.aspx#comments</comments><description>I used the OneNote 2007 Side Note utility this morning and for some reason it created a table of contents file ( .onetoc2 ) file in each of the folders in which I keep my PowerShell. Strange behaviour. Any way there are more of them than I want to delete...(&lt;a href="http://msmvps.com/blogs/richardsiddaway/archive/2009/05/28/removing-hidden-files.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1693305" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Powershell/default.aspx">Powershell</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Hidden+Files/default.aspx">Hidden Files</category></item></channel></rss>