Удаление имени samaccount из группы через N раз - powershell - PullRequest
0 голосов
/ 21 февраля 2020

Я ищу способ удалить пользователя из группы после определенного c времени.

По ссылке ниже я обнаружил, что вы можете найти пользователей, которые были добавлены с 10 днями и более:

https://gallery.technet.microsoft.com/scriptcenter/Find-the-time-a-user-was-a0bfc0cf#content

В качестве вывода Я получаю пример ниже:

        ModifiedCount    : 2
        DomainController : DC3
        LastModified     : 5/4/2013 6:48:06 PM
        Username         : joesmith
        State            : ABSENT
        Group            : CN=Domain Admins,CN=Users,DC=Domain,DC=Com

Я хотел бы вернуть SamAccountName вместо имени пользователя.

Я пытался посмотреть на код, и я знаю, что это как-то связано с переменная $pattern Но я не настолько хорош в PowerShell, чтобы знать с первого взгляда.

enter image description here

1 Ответ

0 голосов
/ 21 февраля 2020

Глядя на этот код, свойство Username IS SamAccountName. Однако если вы хотите изменить эту метку, вы можете либо просто изменить ее в строке 106 с

Username = [regex]::Matches($rep.context.postcontext,"CN=(?<Username>.*?),.*") | ForEach {$_.Groups['Username'].Value}

на:

SamAccountName = [regex]::Matches($rep.context.postcontext,"CN=(?<Username>.*?),.*") | ForEach {$_.Groups['Username'].Value}

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

$returnedObjects | Select-Object @{Name = 'SamAccountName'; Expression = {$_.Username}}, * -ExcludeProperty Username
...