我在主机/计算机的列表list.csv与host name列.其中一些还没有登录,所以我想删除包含过期计算机记录的所有行.
我可以使用下面的代码获取域中所有未在90天内登录的计算机(ish),但是我想获取计算机列表并将它们进行比较list.csv,从而删除匹配的计算机list.csv.
我已经尝试了一段时间与其他文章Import-CSV等,但不能破解它.
import-module activedirectory
$domain = "contoso.local"
$DaysInactive = 90
$time = (Get-Date).Adddays(-($DaysInactive))
# Get all AD computers with lastLogonTimestamp less than our time
Get-ADComputer -Filter {LastLogonTimeStamp -lt $time} -Properties LastLogonTimeStamp |
# Output hostname and lastLogonTimestamp into CSV
select-object Name | export-csv "C:\users\bicard\Desktop\allComputerslistFromDomainLookup.csv" -notypeinformation
Run Code Online (Sandbox Code Playgroud)
小智 5
刚发布我发现这是@ JPBlanc的提示.
$DaysInactive = 90
$OutDate = (Get-Date).Adddays(-($DaysInactive))
# Get all AD computers with lastLogonTimestamp less than our time
$OutDated = Get-ADComputer -Filter {LastLogonTimeStamp -lt $OutDate} -Properties LastLogonTimeStamp |
select-object -ExpandProperty Name
Import-Csv List.csv |
Where { $OutDated -notcontains $($_.'host name'} |
Export-csv NewList.csv -notypeinformation
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |