我正在尝试清理我的AD用户帐户,过去我的组织会在用户的Description
字段的开头添加日期...
我可以使用PowerShell获取Description
字段中的所有文本,但我不知道如何仅删除“描述”字段中的日期。
该字段中的日期采用以下格式撰写:mm/dd/yy
或mm/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
我确信有更好的约会方式......但我还没有。
答案 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
位。