Скрипт Powershell, который принимает имя пользователя и проверяет группы безопасности - PullRequest
0 голосов
/ 28 мая 2019

Я хочу создать скрипт powershell, который проверяет профиль пользователя, к каким группам безопасности пользователь относится, в активном каталоге. Затем я хочу записать это в файл. У меня проблемы с решением этой проблемы.

Пример ожидаемого результата.

Пользователь1

Группы безопасности

Пользователи домена Администраторы домена ...

Пользователь2

Группы безопасности

Пользователи домена Администраторы предприятия

New-Item "$home\Desktop\GroupsMembers-list $(get-date -f dd-MM-yyyy).txt"

$users = @("User1", "User2", "User3", "User4")

foreach ($user in $users){
Get-ADPrincipalGroupMembership $user | sort name | select name | Out-File "$home\Desktop\GroupsMembers-list $(get-date -f dd-MM-yyyy).txt"
}

Ответы [ 2 ]

1 голос
/ 28 мая 2019

Я думаю, вы могли бы проявить немного больше творчества, но это определенно может сработать для вас:

$users = @("user1","user2")

foreach ($user in $users){

    $groups = Get-ADPrincipalGroupMembership $user | Where-Object {$_.GroupCategory -eq "Security"} | Sort-Object Name | Select-Object -ExpandProperty Name

    Add-Content -Path C:\path\to\file.txt -Value @"

$user
Security Groups 
----------------------------
"@

    foreach ($group in $groups){
        Add-Content -Path C:\path\to\file.txt -Value $group
    }
}

Вот как выглядит результат:

user1
Security Groups 
----------------------------
Administrators
Domain Admins

user2
Security Groups 
----------------------------
Administrators
Domain Admins
0 голосов
/ 28 мая 2019

Я думаю, что это будет примерно так:

  $users = @("User1", "User2", "User3", "User4")
   $file= "$home\Desktop\GroupsMembers-list $(get-date -f dd-MM-yyyy).txt"
""| Out-File $file; #Clear content of file
foreach ($user in $users){ ""| Out-File -Append $file; #Add a new line
    "$User is in Security groups:"| Out-File -Append $file; # making a Title
    "---------------------------------"| Out-File -Append $file; # making a Title
    Get-ADPrincipalGroupMembership $user | sort Name | ft -HideTableHeaders Name | Out-File -Append $file #Writing data
    }

Файл txt будет заменяться каждый раз при запуске скрипта.

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