0

私の会社でのドキュメントのクリーンアップ作業の一環として、次の問題の解決策を見つけるように依頼されました。私たちは、(技術者ではない)ユーザーベースに、共有ドライブ上で自分のファイルを見つける方法を提供したいと考えています。オンデマンドである必要があります。つまり、ユーザーは適切であると判断し、リアルタイムの結果を確認したときにソリューションを使用できます。

ファイルハードディスク管理ツール が用意されているので、ツールのデータベースに対してストアドプロシージャを記述し、そこに含まれるデータを返すことができますが、このアプローチにはいくつかの欠点があります。

  • ユーザーフレンドリーではありません(ここでも、テクノロジーがユーザーベースに挑戦しています)
  • データは最大1週間前のものになる可能性があります
  • 「オンデマンド」戦略を実装するのは難しい

理想的には、Windowsエクスプローラーの検索バーのようなWindowsユーティリティがあり、ユーザーは自分の資格情報を入力して、所有するファイルのリストを返すことができます。

次善の策は缶詰の道具でしょう-どんな道具も思い浮かびますか?

または、これは独自のソリューションです。RYOの場合、どのツールが最適ですか?私たちは.Netショップですが、Pythonが好きです。私は.netを知らず、Pythonの初心者です。上司がPowerShellを提案しましたが、それについても何も知りません。

考慮すべきもう1つのこと:ユーザーはXP Professionalデスクトップを使用していますが、今後数か月以内にWindows7に移行する予定です。

助言がありますか?TIA。

4

1 に答える 1

1

既存の管理ツールを使用しない理由の 1 つは、技術者以外のユーザーにとって難しいことです。明確にするために、それは技術ではなく、プレゼンテーションの問題です。これは、ユーザーが自分のハード ドライブで所有権を持っているファイルを特定する例です。それを取得して、特定の状況に合わせて変更する必要があります。また、ユーザーのニーズを満たす方法でそれを提示する方法を決定する必要があります。

ls C:\* -rec | %{if($_.GetAccessControl().Owner -like '*USERNAME*'){'{0} - {1}' -f $_.Name, $_.Getaccesscontrol().owner}}

ここでは、少しスクリプト化されており、単調ではありません (私は言葉を作るのが好きです)。現在ログオンしているユーザーが所有するファイルを、指定した検索ルートから再帰的に検索します。

$result = @()
$user = '*{0}*' -f $env:USERNAME
$searchRoot = 'G:\'
$files = Get-ChildItem $searchRoot -recurse | Where-Object{$_.GetAccessControl().Owner -like $user}
foreach ($file in $files){
    $temp = New-Object PSCustomObject -Prop @{'Name' = $file.Name;
                                              'Path' = $file.Directory;
                                              'Owner' = $file.GetAccessControl().Owner
    }
    $result += $temp
}
$result | Out-GridView
于 2012-12-05T18:47:08.533 に答える