troushoo

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

  1. --/--/--(--) --:--:--|
  2. スポンサー広告

Windows 8/Windows Server 2012のPowerShellでAlternate Data Streamsの操作

Alternate Data Streams
今回は、Windows 8/Windows Server 2012からの機能で、PowerShellでAlternate Data Streamsを操作する方法を述べます。

【Alternate Data Streams とは?】
Alternate Data Streams とは、NTFS上のファイルやディレクトリに追加で情報を付加させることができる仕組みです。
”名前部分”と、”データ部分”という組で、NTFS上のファイルやディレクトリに情報を付加します。

具体例として、Internet ExplorerでのAlternate Data Streamsの使用例を見てみます。
インターネットからダウンロードしたWordを開くと以下のように表示されます。
”注意-インターネットから入手したファイルは、ウイルスに感染している可能性があります。編集する必要がなければ、保護ビューのままにしておくことをお勧めします。”
注意-インターネットから入手したファイルは、ウイルスに感染している可能性があります。編集する必要がなければ、保護ビューのままにしておくことをお勧めします。

では、Wordはどの様にして「インターネットからダウンロードされたものである」と判断しているのでしょうか?
それは、Internet Explorerがダウンロードしたドキュメントに対して、以下のAlternate Data Streamsを付加しているためです。

名前部分 Zone.Identifier
データ部分 [ZoneTransfer]
ZoneId=3
このAlternae Data Streams をみて、Wordは「これはインターネットからダウンロードされたものである」と判断します。

【Windows 8/Windows Server 2012のPowerShellでAlternate Data Streamsを操作】
Alternate Data Streamsはエクスプローラーからは、表示や追加等ができません。
そこで、以下、Windows 8/Windows Server 2012のPowerShellでAlternate Data Streamsを操作する方法を紹介します。

・Set-Content: Alternate Data Streamsを追加
Alternate Data Streamsをファイルに追加するには、Set-Content コマンドを利用します。
Set-Content –Path <ファイルのパス> –Stream 
その後、Alternate Data Streamsのデータを入力

以下は、test.txt に 以下のAlternate Data Streamsを付加している例です。
名前部分MyTestStreamName
データ部分This is a Test
Alternate Data Streamsの付加


・Get-Item: Alternate Data Streams名を表示
Alternate Data Streams の名前部分を表示するには、Get-item コマンドを利用します。
Get-Item –Path <ファイルのパス> –stream *

以下は、test.txt の Alternate Data Streams の名前部分を表示しているところです。
Alternate Data Streams名を表示
*ちなみに、上図の”:$DATA”はtext.txt の通常のデータを表しています。


・Get-Content: Alternate Data Streamsのデータ部分を表示
Alternate Data Streamsのデータを表示するには、Get-Content コマンドを利用します。
Get-Content –Path <ファイルのパス> –stream 

以下は、text.txt の Alternate Data Streams の名前部分が”MyTestStreamName” であるデータ部分を表示しているところです。
Alternate Data Streamsのデータ部分の表示


・Remove-Item: Alternate Data Streamsの削除
Alternate Data Streamsの削除を行うには、Remove-Item コマンドを利用します。
Remove-Item –Path <ファイルのパス> –stream 

以下は、text.txt の Alternate Data Streams の名前部分が"”MyTestStreamName” であるものを、削除しているところです。
Alternate Data Streamsの削除

[補足]
今回は紹介しませんでしたが、Alternate Data Streams を表示・削除するツールとして、Microsoftのstreams.exe が有名です。
しかし、streams.exe はAlternate Data Streams を追加したり、Alternate Data Streams のデータを表示することはできません。 

URL
・Alternate Data Streams in NTFS (英語)
元ネタです。
http://blogs.technet.com/b/askcore/archive/2013/03/24/alternate-data-streams-in-ntfs.aspx


  1. 2013/05/12(日) 23:29:44|
  2. ツール
  3. | トラックバック:0
  4. | コメント:0
<<Visual Studioの役に立つショートカット - デバッグ/設定 編 | ホーム | TCP Retransmit・DupACK・Fast Retransmit ~トラブルシューティング時のキーワード~>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://troushoo.blog.fc2.com/tb.php/112-c1067d4c
この記事にトラックバックする(FC2ブログユーザー)

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (92)
ネットワーク (76)
Visual Studio (56)
SOS・Psscor2/Psscor4 (25)
WinDbg (25)
Linux (24)
Azure (17)
Tips (20)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。