1
Import-Module SQLite
mount-sqlite -name places -data (resolve-path C:\Users\malware_win7x86\Desktop\places.sqlite)
$places = Get-ChildItem places:\moz_places

foreach ($entry in $places)
{
    [datetime]$origin = '1970-01-01 00:00:00'
    $visited = $entry.last_visit_date

    if ($visited) {
        $vtime = $origin.AddSeconds($visited)
    } else {
        $vtime = 'testing'
    }

    write-host ""
    $entry.url,
    $entry.visit_count,
    $vtime
}

参考:PowerShellでUnix時刻を変換する

データのないエントリを処理する方法に興味があります。

たとえば、このスクリプトからの出力は次のとおりです。

http://sysforensics.org/
1
Exception calling "AddSeconds" with "1" argument(s): "Value to add was out of range.
Parameter name: value"
At line:7 char:28
+ $vtime = $origin.AddSeconds <<<< ($visited)
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

これに関するアイデアはありますか?

ありがとう

4

2 に答える 2

0

その場合、メソッド呼び出しをスキップして、デフォルト値を代用します。たとえば、次のようになります。

if ($visited) { # or maybe $ivisited -is [int] or whatever your criterion is
  $vtime = $origin.AddSeconds($visited)
} else {
  $vtime = $null
}
于 2012-07-26T11:36:51.353 に答える