获取get-aduser将forchanged属性更改为登录脚本的变量

时间:2015-09-08 09:30:24

标签: powershell active-directory

我有以下代码

$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}

我知道有一些神奇的语法可以使它工作,我会对任何指针都很有用。

1 个答案:

答案 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

指定要选择的属性,并指示应尝试扩展该属性。酒店名称允许使用通配符。

例如,如果指定的属性是数组,则数组的每个值都包含在输出中。如果属性包含对象,则该对象的属性将显示在输出中。