为get-adcomputer创建PS查询

时间:2013-05-03 04:23:15

标签: powershell

我正在尝试获取安全组“安全组A”中的csv计算机,然后根据LastlogonTimestamp进行过滤,以便任何未登录60天的计算机都不会出现在结果中。我尝试了几种不同的方法,但我没有运气。 我想知道是否有人可以提供帮助。 目前我已经尝试了

`$lastlogon = (get-date).adddays(-60).ToFileTime()

Get-ADGroupmember "Security Group A" | Select Name

我不确定如何从这里解决这个问题。我尝试过使用$ comp的变量,但是我得到的错误是不是广告对象而是系统对象。

另一个选项是

$lastlogon = (get-date).adddays(-60).ToFileTime()
Get-ADGroup "Security Group A" -properties members | %{$_.members} | %{get-adcomputer $_ |select name | out-file C:\temp\output.csv 

最后一个我试图添加

-filter {Lastlogontimestamp -gt $lastlogon}
在$ _和之前的

但似乎返回一个空的CSV(我知道有结果)。

我做错了什么......有什么想法吗? 感谢

1 个答案:

答案 0 :(得分:2)

试试这个

[DateTime]$lastlogon = (get-date).adddays(-60).ToFileTime()

$Computers = Get-ADGroupmember "Security Group A" | Select-Object Name,@{Name="Stamp"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp)}}

$Computers | where {$_.lastLogonTimestamp -gt $lastlogon} | select name | out-file C:\temp\output.csv -Force

使用通讯组进行测试,但也应该在安全组中使用