Поле "Изменить описание" для пользователей
Я пытаюсь очистить свои учетные записи пользователей 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
немного в конце.