Нужна помощь в создании / исправлении скрипта powershell для закрытия аккаунта - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь завершить сценарий powershell для автоматизации завершения учетной записи. Я хотел сначала захватить некоторую информацию о пользователе и записать ее в CSV, а затем отключить учетную запись и удалить все группы. Я могу легко запустить скрипт в отдельных частях, но когда я создаю цикл, он работает только с одной учетной записью в моем текстовом файле. Я не знаком с использованием объектов, но мне сказали, что я должен изучить и использовать их.

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

$user_name = Get-Content -Path 'C:\Users\username\Documents\AD Test Files\*.txt'
foreach ($user in $user_name){
    $users = Get-ADUser $user -Properties samaccountname,givenname,surname
    $groups = Get-ADPrincipalGroupMembership $users | Select -Expand Name
    $data = [PSCustomObject]@{
        samaccountname = $users.samaccountname;
        givenname = $users.givenname;
        surname = $users.surname;
        memberOf = ($groups | Out-String).Trim()
    }
}
$data | Export-Csv C:\Users\username\Desktop\Term.csv -Delimiter "," -NoTypeInformation -Encoding UTF8

Ответы [ 2 ]

0 голосов
/ 08 октября 2019

Это очень простое решение, если вы хотите получить данные из foreach.:

$all = foreach{}
$all | Export-Csv C:\Users\username\Desktop\Term.csv -Delimiter "," -NoTypeInformation -Encoding UTF8
0 голосов
/ 08 октября 2019

Прямо сейчас вы переопределяете $data каждую итерацию цикла, что может объяснить, почему выводится только одна учетная запись. Вместо этого вы можете сделать его массивом и добавлять к нему в каждой итерации (обратите внимание на += в цикле):

...
$data = @()
foreach ($user in $user_name){
    ...
    $data += [PSCustomObject]@{
        ...
    }
}
$data | Export-Csv ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...