Как найти конкретную строку в поле «Описание» на объектах компьютера в AD? - PullRequest
0 голосов
/ 14 февраля 2019

В настоящее время поле описания объектов компьютера используется в Active Directory с именем пользователя, типом компьютера и датой, введенной в эксплуатацию.У меня есть сценарий powershell для идентификации компьютерных объектов возрастом от 30 до 44 дней, к которому добавляются метки «Более 30 дней» и «Более 44 дней».Каждый раз, когда я запускаю сценарий, я хочу проверить, была ли эта метка уже добавлена ​​к объектам, которые соответствуют неактивным критериям на 30 и 44 дня.Как выполнить поиск в свойствах описания для ярлыков, которые я уже добавил к ним ... чтобы неактивные метки, которые я установил, не применялись при каждом запуске сценария?

В настоящее время я добавляю неактивные ярлыки.ярлык для неактивных в течение 30 дней:

Get-ADComputer -Filter {LastLogonTimeStamp -lt $time} -Properties Description | ForEach-Object {Set-ADComputer $_ -Description "$($_.Description) More than 30 Days Old" }

Я хотел бы иметь возможность проверить, существует ли ярлык, прежде чем пытаться добавить его снова.

1 Ответ

0 голосов
/ 14 февраля 2019

Получат компьютеры, на которых нет добавленных меток:

$descriptionFilter = "*More than*days old*"
Get-ADComputer -Filter {LastLogonTimeStamp -lt $time -and description -notlike $descriptionFilter} -Properties Description | ForEach-Object {Set-ADComputer $_ -Description "$($_.Description) More than 30 Days Old" }

Если вы хотите проверить заранее и не вносить никаких изменений, просто запустите:

$descriptionFilter = "*More than*days old*"
Get-ADComputer -Filter {LastLogonTimeStamp -lt $time -and description -notlike $descriptionFilter} -Properties Description 

Средняя звездочка строки descriptionFilter может быть заменена на 30 или 44, но обязательно включайте пробелы вокруг чисел.Если вы действительно хотите видеть компьютеры с уже добавленными ярлыками, просто замените -notlike на -like.

...