我有以下代码
$date = ((get-date).addmonths(-3))
Get-ADUser -Filter * -Properties whenChanged| Where-Object {$_.whenChanged -ge $date} | select name
这很好用,并给了我一个很好的用户列表,这些用户没有在3个月内更新帐户。但我需要这个作为登录脚本,所以我想让它说逻辑分析
if ((get-aduser <name> -Properties whenChanged) -ge $date) {do something} else {do nothing}
当我尝试这个时,我得到......
$c = Get-ADUser street | Where-Object {$_.whenChanged -ge $date} | select whenchanged
write-host $c
@{whenchanged=07/09/2015 17:00:30}
我知道有一些神奇的语法可以使它工作,我会对任何指针都很有用。
答案 0 :(得分:1)
因为Result是[Hashtable]类型,您需要将-ExpandProperty
添加到Select-Object Cmdlet以展开它,如下所示:
$c = Get-ADUser street -Properties whenChanged | Where-Object {$_.whenChanged -ge $date} |
Select -ExpandProperty whenchanged
write-host $c
<强> -ExpandProperty 强>
指定要选择的属性,并指示应尝试扩展该属性。酒店名称允许使用通配符。
例如,如果指定的属性是数组,则数组的每个值都包含在输出中。如果属性包含对象,则该对象的属性将显示在输出中。