编辑用户的描述字段

时间:2014-03-10 17:49:52

标签: date powershell active-directory

我正在尝试清理我的AD用户帐户,过去我的组织会在用户的Description字段的开头添加日期...

我可以使用PowerShell获取Description字段中的所有文本,但我不知道如何仅删除“描述”字段中的日期。

该字段中的日期采用以下格式撰写:mm/dd/yymm/dd/yyyy

Get-ADUser -SearchBase $OU_To_Search -Filter {(description -like '*/*/* ^az') -and (enabled -eq $true)} -Properties cn,description | Export-csv C:\temp\A_Users.csv

我确信有更好的约会方式......但我还没有。

2 个答案:

答案 0 :(得分:0)

您可以将Description字段设置为变量,并使用-replace参数删除日期,如下所示:

$this = $this -replace "([0-9]+)/([0-9]+)/([0-9]+) ",""

然后,只需使用Set-ADUser替换当前描述

即可

答案 1 :(得分:0)

您可以进行搜索,然后通过-replace选项运行结果并替换\ d {1,2} / \ d {1,2} / \ d {2,4} \ s的正则表达式过滤器? (这是1或2个数字,后跟斜线,后跟1或2个数字,后跟斜线,然后是2到4个数字,然后如果在包含该数字后有空格)并且只是取消要替换的项目它只是删除它。然后输出更新的结果。最后,我将其导出为CSV,如上所述。

Get-ADUser -SearchBase $OU_To_Search -Filter {(description -like '*/*/* ^az') -and (enabled -eq $true)} -Properties cn,description|%{$_.Description -Replace "\d{1,2}/\d{1,2}/\d{2,4}\s?";$_}| Export-csv C:\temp\A_Users.csv

或者你可以让它Set-ADUser $_而不是只将它输出到要导出到CSV的管道。为此,您需要将;$_}更改为;Set-ADUser $_},并在结尾处取消|Export-CSV位。