【PowerShell】一括で「ブロックを解除」する ~ Windows PowerShell 編 その1

先の投稿で、一括で「ブロックを解除する」方法についてご紹介しました。 【Management】一括で「ブロックを解除」する ~ streams コマンド編 ただ、この方法だとファイルの代替データストリームを全て削除してしまうので、ちょっと感じ悪いというか…なんか他に影響が出ないかすごく心配だったりします。IT Pro 的には。 ※ ちなみに、ファイルのプロパティから「ブロックを解除」すれば、ZoneID のみを削除することができます。ただし、ファイル単位に操作するので超面倒なのですね。 代替データストリームは、Dir /r コマンドで確認することができます。例えば、以下の場合には、4つの代替データストリームが存在していることがわかります。 C:\tmp>dir /r IdentityModel.WP7.dll ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 6E7E-0B00 です C:\tmp のディレクトリ 24/01/12  20:08            44,032 IdentityModel.WP7.dll                                 7 IdentityModel.WP7.dll:ads1:$DATA                                 7 IdentityModel.WP7.dll:ads2:$DATA                                 7 IdentityModel.WP7.dll:ads3:$DATA                                26 IdentityModel.WP7.dll:Zone.Identifier:$DATA                1 個のファイル              44,032 バイト                0 個のディレクトリ  16,348,221,440 バイトの空き領域 dir /r…


【Management】一括で「ブロックを解除」する streams コマンド編

2012年初の投稿となります。本年もよろしくお願いいたします。 さて、完全に覚書レベルの話ですみません。結構知らない方が多いかもと思ったので書いておきます。 インターネットからダウンロードしたファイルを使用するとき、ファイルに書き込まれている ZoneId と呼ばれる代替データストリームをリセットしなければならない場合があります。ZoneId をリセットするには、ファイルのプロパティから「ブロックの解除」を実行します。この操作は比較的おなじみですよね。 しかし大量のファイルが存在する場合には、この作業はとても面倒です。 そこで、そんな作業を軽減するためのツールがいくつか用意されています。その1つが、Windows Sysinternals の Streams コマンドです。 Streams v1.56 このコマンドを使用すると、以下のように複数のファイルから一括で ZoneId を含めた代替データストリームを削除することができます。 C:\tmp\Files\>streams -s -d *.* Streams v1.56 – Enumerate alternate NTFS data streams Copyright (C) 1999-2007 Mark Russinovich Sysinternals – www.sysinternals.com C:\tmp\Files\ADFS???????\ADFSClient.sln:    Deleted :Zone.Identifier:$DATA C:\tmp\Files\ADFS???????\ADFSClient.suo:    Deleted :Zone.Identifier:$DATA ・ ・ ・ ・ @IT の打越さんの記事に理屈も含めて詳しく書かれていますので、是非とも参考にしてください。打越さん、とても詳しい記事ありがとうございます!…でも、かなりマニアックですよ(笑) streamsコマンドでNTFSの代替データ・ストリーム情報を表示/削除する - @IT