0
我正在使用一个PowerShell脚本,它将使用Export-Csv
命令将一个列表od系统管理员输出到CSV文件。该获取数据的脚本的部分是:更改导出CSV输出输出格式
Foreach ($Computer in $Computers){
$Online = Test-Connection -ComputerName $Computer -Quiet
if ($Online -eq "True"){
$GroupName = Get-WmiObject win32_group -ComputerName $Computer | ? {$_.SID -eq 'S-1-5-32-544'} | Select-Object name -ExpandProperty name
$LocalGroup =[ADSI]"WinNT://$Computer/$GroupName"
$GroupMembers = @($LocalGroup.psbase.Invoke("Members"))
$Members = $GroupMembers | foreach {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
foreach ($Member in $Members){
$obj = New-Object System.Object
$obj | Add-Member -MemberType NoteProperty -Name "Computer" -Value $Computer
$obj | Add-Member -MemberType NoteProperty -Name "AdminGroupMembers" -Value $Member
$obj
}
}
}
}
Get-Admins | Export-Csv -NoTypeInformation c:\scripts\adm.csv -Encoding UTF8
电流输出的格式如下所示:
"Computer1", "Admin1"
"Computer1", "Admin2"
"Computer1", "Admin3"
"Computer1", "Admin4"
"Computer2", "Admin1"
"Computer2", "Admin2"
"Computer3", "Admin1"
我试图让输出看起来像这样:
"Computer1", "Admin1" , "Admin2" , "Admin3" , "Admin4"
"Computer2", "Admin1" , "Admin2"
"Computer3", "Admin1" , "Admin2" , "Admin3"
任何想法?
我很欣赏你的建议,但该文件不输出到CSV文件,只是没有格式我会喜欢的。您上面的建议运行,但不提供CSV输出,这是一个要求。 – user2654059
@ user2654059现在确实如此。 –
输出文件是9行,每行有一个逗号,没有其他数据。 #导出数据并提供反馈 #-------------------------------------- -------------------------------------------------- ----------------- Get-Admins |组{$ _。Computer} | %{ '{0},{1}'-f @($ _。Group.Computer)[0],($ _。Group.AdminGroupMembers -join',') } Out-File'c:\ scripts \ adm.csv' Write-Host“'n为在线系统完成的脚本” – user2654059