0

以下のコードを使用して、181 日前に最後に変更されたコンピューター名のリストを取得しています。2 つの列 (ComputerName、UserName) を持つ .csv ファイルがあります。以下のコードからの出力を csv ファイルの computername 列と一致させ、出力/一致を表示する方法はありますか?

$Days = (Get-Date).AddDays(-181) 

Get-ADComputer -Property Name,lastLogonDate -Filter  {lastLogonDate -lt $Days} -Server DomainController -Searchbase "OU=US,DC=contoso,DC=net" | FT Name,lastLogonDate 
4

1 に答える 1

1

に変更... | FT Name,lastLogonDate... | select Name,lastLogonDateます。結果をパイプしftてテーブルとしてフォーマットすることはできますが、選択をプレゼンテーションから分離すると、追加のフィルターを簡単に挿入できます。

CSV に一致するコンピューターのみを表示するには、次のようにします。

$computers = Import-Csv 'your.csv' | % { $_.ComputerName }

Get-ADComputer -Property Name,lastLogonDate ... | select Name,lastLogonDate |
    ? { $computers -contains $_.Name } | ft

結果に CSV のユーザー名を含めるには、次のようにします。

$computers = @{}
Import-Csv 'your.csv' | % { $computers[$_.ComputerName] = $_.UserName }

Get-ADComputer -Property Name,lastLogonDate ... |
    ? { $computers.Keys -contains $_.Name } |
    select Name,lastLogonDate,@{n='Username';e={$computers[$_.Name]}} | ft
于 2013-08-22T19:13:55.283 に答える