0
Export-Csv
명령을 사용하여 시스템 관리자 목록을 CSV 파일로 출력하는 PowerShell 스크립트를 작성하고 있습니다. 데이터를 가져 스크립트의 일부는 다음과 같은Export-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" , "Admin2" , "Admin3" , "Admin4"
"Computer2", "Admin1" , "Admin2"
"Computer3", "Admin1" , "Admin2" , "Admin3"
:
"Computer1", "Admin1"
"Computer1", "Admin2"
"Computer1", "Admin3"
"Computer1", "Admin4"
"Computer2", "Admin1"
"Computer2", "Admin2"
"Computer3", "Admin1"
내가 같이 할 수있는 출력을 얻기 위해 노력하고 있어요
어떤 아이디어?
난 당신의 제안을 감사하지만 파일 않습니다 그냥 형식의 CSV 파일로 출력, 나는 그것을 원할 것이다. 위의 제안 사항은 실행되지만 CSV 출력은 필요하지 않습니다. – user2654059
@ user2654059 이제 그랬습니다. –
출력 파일은 각 행에 쉼표가있는 9 행이며 다른 데이터는 없습니다. # 데이터를 내보내고 피드백을 제공합니다. # -------------------------------------- -------------------------------------------------- ----------------- Get-Admins | 그룹 {$ _. 컴퓨터} | % { '{0}, {1}'-f ($ _. Group.Computer) [0], ($ _. Group.AdminGroupMembers -join ',') } | Out-File 'c : \ scripts \ adm.csv' Write-Host "'n 온라인 시스템 용 스크립트가 완료되었습니다." – user2654059