Вывод объектов для улучшения с PowerShell - PullRequest
0 голосов
/ 06 февраля 2020

Работа над простым сценарием для вывода учетных записей администраторов на всех компьютерах в нашем домене. Скрипт хорошо работает в Powershell, но при попытке экспорта в Excel все, что я получаю, это последний объект в файле Excel. Это будет последний объект с последнего компьютера (в данном случае 3 объекта)

function get-localadministrators {
    param ([string]$computername=$env:computername)

    $computername = $computername.toupper()
    $ADMINS = get-wmiobject -computername $computername -query "select * from win32_groupuser where GroupComponent=""Win32_Group.Domain='$computername',Name='Administrators'""" | % {$_.partcomponent}

    foreach ($ADMIN in $ADMINS) {
                $admin = $admin.replace("\\$computername\root\cimv2:Win32_UserAccount.Domain=","") # trims the results for a user
                $admin = $admin.replace("\\$computername\root\cimv2:Win32_Group.Domain=","") # trims the results for a group
                $admin = $admin.replace('",Name="',"\")
                $admin = $admin.REPLACE("""","")#strips the last "

                $objOutput = New-Object PSObject -Property @{
                    Machinename = $computername
                    Fullname = ($admin)
                    DomainName  =$admin.split("\")[0]
                    UserName = $admin.split("\")[1]
                }#end object

    $objreport+=@($objoutput)
    }#end for
    $objreport | export-csv ("C:\Accounts.csv") -notypeinformation
    return $objreport
}#end function
Get-content ("C:\100w.csv") | % {get-localadministrators -computername $_}

1 Ответ

1 голос
/ 06 февраля 2020

Вам нужно использовать -Append в конце команды export-csv, чтобы не перезаписывать файл каждый раз. Если файл не существует, Export-csv создаст файл и затем каждый раз будет добавлять его.

$objreport | export-csv ("C:\Accounts.csv") -notypeinformation -Append

См. Пример 6 в ms документации

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