2

ファイルから再帰的にメタデータを取得することがわかったいくつかの powershell コードを変更していますが、フォルダー内のフォルダーへのアクセスに問題があります。\share の下に直接リストされているフォルダーからメタデータを取得し、その下のフォルダーやファイルからは取得しません。このコードをフォルダ内のファイルからメタデータに変更するにはどうすればよいですか?

また、メタデータを CSV にエクスポートしようとしていますが、空のファイルしか取得できません。

編集: .pst ファイルからデータを取得しようとしています。また、次の行を見つけて、これを何らかの方法で追加できるかどうか疑問に思いました。

dir \myserver\share -Recurse -Include *.pst | フルネームを選択

($folder = "\\myserver\share") #end param
function funLine($strIN) 
{
$strLine = "=" * $strIn.length
$hash | Export-Csv c:\pstdetails.csv -NoClobber -NoTypeInformation
# Write-Host -ForegroundColor Yellow "`n$strIN"
# Write-Host -ForegroundColor Cyan $strLine
} #end funline
function funMetaData()
{ 
foreach($sFolder in $folder)
 {
  $a = 0
  $objShell = New-Object -ComObject Shell.Application
  $objFolder = $objShell.namespace($sFolder)
  foreach ($strFileName in $objFolder.items())
  { FunLine( "$($strFileName.name)")
     for ($a ; $a  -le 266; $a++)
      { 
       if($objFolder.getDetailsOf($strFileName, $a))
        {
         $hash += @{ `
              $($objFolder.getDetailsOf($objFolder.items, $a))  =`
              $($objFolder.getDetailsOf($strFileName, $a)) 
         } #end hash
         $hash
         $hash.clear()
          } #end if
      } #end for 
    $a=0
   } #end foreach
 } #end foreach
} #end funMetadata 
4

1 に答える 1

0

上から下まで検索した結果、答えはずっと目の前にありました。(私は以前にここで検索しました!) ここで答えを見つけました: PowerShell を使用した再帰的なファイル検索

必要な列に変更したので、使用したコードは次のとおりです。

Get-ChildItem -Path \\Server\Folder -Filter *.pst -Recurse | Select-Object Directory, Name, Length, CreationTime, LastAccessTime, LastWriteTime | Export-Csv "c:\emails1.csv"
于 2012-10-23T14:52:19.187 に答える