0

皆さんおはよう、

$machines = $user2,$name,$serial,$purchased 次のような変数があります。 $machinesに保存されているサンプルデータは次のとおりです。

User1,
Laptop1,
xyz1234,
01/01/2010

今日の日付から4年以上経過した日付の、$machines内のすべてのレコードを含む$tobereplacedという新しい変数を作成したいと思います。

このimのファジー論理コードは、$tobereplaced = $machines.$purchased | where {$_$purchased = -getdate > 4 years}などのようなものになることを期待していますが、私はそれを完全に理解することはできません。

支援をいただければ幸いです。

ありがとう

4

2 に答える 2

2
$fourYearsAgo = (Get-Date).AddYears(-4) 
$tobereplaced = $machines | Where-Object { (Get-Date $_[-1]) -le $fourYearsAgo }
于 2012-09-11T11:15:46.547 に答える
1

日付をDateTimeとして変換し、4年前の日付と比較します。そのようです、

# Assuming $m[3] contains the timestamp, parse it as a DateTime and compare
# against a date four years ago.
if([DateTime]::Parse($m[3]) -le [DateTime]::Now.AddYear(-4)) {
  $tobereplaced += $m
}

ロケールによっては[DateTime]::Parse()、日付の解析方法を指示する必要がある場合があります。2010年1月12日は2010年12月1日ですか、それとも2010年1月12日ですか。

于 2012-09-11T10:42:24.390 に答える