2009-06-26 15 views
2

ドライブを検索して、特定のユーザーによって作成されたすべてのドキュメントを表示できますか?私はpowershellが行く方法だと考えました...しかし、おそらく別のアプローチが可能ですか?ユーザーが作成したドキュメントをpowershellで検索しますか?

基本的には、ドライブを検索してすべての* .docまたは* .docxファイルを見つけて、プロパティの単語にアクセスしてファイル(著者)を作成した人物を表示したいとします。

答えて

2

その場合は、COMオブジェクトWord.Applicationを使用して、すべてのWord文書をWordで開く必要があります。次に、DocumentオブジェクトのContentTypePropertiesコレクションを使用して、ドキュメントのメタデータを見ることができます。著者名があれば、そのコレクションになります。

これには時間がかかりますが、ファイルシステムのACLを調べて誰がファイルを作成したかを判断できますか?しかし、これは、ドキュメントを作成した人ではなく、ファイルを作成したユーザーだけに伝えます。

もう1つのオプションは、おそらくPowershell内からWindows Searchを使用することです。どうやらそれをOLE DBプロバイダで使うことができます。そして、私はWindows SearchがWord文書から著者情報を問い合わせることができると思います。

+0

フォルダ内のファイルプロパティを見るためにPowerShell(またはまっすぐなC#)内のSystem.IO.FileInfoを使用できませんでしたか? –

+1

あなたはそれから何をお読みになりますか?先に進むが、作成者などはメタデータがサポートされているすべてのファイル形式で異なって指定されている。これらはファイルシステムのメタデータではありません。だから、FileInfo(これはPowershellがGet-ChildItemをあなたに提供するものです)を使用することはあなたをここで助けません。実際には、ドキュメント自体で指定された作者名ではなく、作成者のユーザー名を使用しないといけません。 – Joey

+0

良い点。 http://www.microsoft.com/technet/scriptcenter/resources/qanda/aug08/hey0813.mspxが解決策に見えますが、動作させることができません –

2

このblog postをご覧ください。これにはPowerShellyのやり方があります。 :-)

関連する問題