Поле "Изменить описание" для пользователей

Я пытаюсь очистить свои учетные записи пользователей AD, в прошлом моя организация ставила дату в начале Description поле для пользователей...

Я могу получить весь текст в Description с помощью PowerShell, но я не знаю, как удалить только дату в поле "Описание".

И дата в поле записывается в следующих форматах: 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

Я уверен, что есть лучший способ получить дату... но я еще не там.

2 ответа

Вы могли бы установить Description поле переменной и использовать -replace Параметр для удаления даты выглядит так:

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

Тогда это просто вопрос использования Set-ADUser заменить текущее описание

Вы можете выполнить поиск, а затем запустить результаты через параметр -replace и заменить фильтр регулярных выражений в \d{1,2}/\d{1,2}/\d{2,4}\s? (это 1 или 2 числа, за которыми следует косая черта, за которыми следуют 1 или 2 числа, за которыми следует косая черта, за которыми следуют цифры от двух до четырех, а затем, если после этого есть пробел), и просто оставьте элемент для замены. это с тем, чтобы просто удалить его. Затем выведите обновленный результат. Наконец, у меня есть экспорт в 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 немного в конце.

Другие вопросы по тегам