Kuddel071089 9 Geschrieben 12. April 2016 Melden Teilen Geschrieben 12. April 2016 Hallo zusammen, ich würde gerne die Mitlgieder von 2 verschiedenen Gruppen via export in einer Excel-Datei in 2 unterschiedlichen Blättern ablegen. Sprich: Blatt 1 = Mitglieder Gruppe 1 Blatt 2 = Mitglieder Gruppe 2 Einen einfachen Export in eine vsc-Datei bekomme ich hin, an den verschiedenen Blättern scheitere ich gerade. Get-ADGroupMember Role-CMT-McAfee-Block-USB | Sort | Select SamAccountName, Name | export-csv -Delimiter ":" -Path "C:\Block_USB.csv" Get-ADGroupMember Role-CMT-McAfee-Monitor-USB | Sort | Select SamAccountName, Name | export-csv -Delimiter ":" -Path "C:\Monitor_USB.csv" Danke schon einmal für die Hilfe Zitieren Link zu diesem Kommentar
testperson 1.708 Geschrieben 12. April 2016 Melden Teilen Geschrieben 12. April 2016 Hi, du musst dazu mit dem COM Object Excel.Application eine "richtige" XLS erzeugen ($MeineExcelAnwendung = New-Object -COMObject Excel.Application). Dann kannst du die CSVs entsprechend in Blatt1 und Blatt2 ausgeben. Oder du schreibst direkt in die XLS ohne den Umweg über CSV. Gruß Jan Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 12. April 2016 Autor Melden Teilen Geschrieben 12. April 2016 Hi, du musst dazu mit dem COM Object Excel.Application eine "richtige" XLS erzeugen ($MeineExcelAnwendung = New-Object -COMObject Excel.Application). Dann kannst du die CSVs entsprechend in Blatt1 und Blatt2 ausgeben. Oder du schreibst direkt in die XLS ohne den Umweg über CSV. Gruß Jan direkt in Excel schreiben kann ich natürlich auch. Was genau muss ich dazu machen? Zitieren Link zu diesem Kommentar
testperson 1.708 Geschrieben 12. April 2016 Melden Teilen Geschrieben 12. April 2016 Hier wäre was vom freundlichen Scripting Guy: https://blogs.technet.microsoft.com/heyscriptingguy/2014/01/10/powershell-and-excel-fast-safe-and-reliable/ Evtl. wäre das noch eine Alternative: https://gallery.technet.microsoft.com/office/Export-XLSX-PowerShell-f2f0c035 Zitieren Link zu diesem Kommentar
Beste Lösung Kuddel071089 9 Geschrieben 13. April 2016 Autor Beste Lösung Melden Teilen Geschrieben 13. April 2016 also den export nach excel hab ich schon einmal hinbekommen. folgendes fehlt jetzt noch: -das Worksheet umbenennen -eine Zweite Gruppe abfragen und ein neues Worksheet schreiben Leider bin ich gerade zu b***d, das selber hinzubekommen $excel = New-Object -ComObject Excel.Application $excel.Visible = $true $workbook = $excel.Workbooks.Add() $sheet = $workbook.ActiveSheet $counter = 2 $sheet.cells.Item(1,1) = "Username" $sheet.cells.Item(1,2) = "Anzeigename" Get-ADGroupMember Role-CMT-McAfee-Block-USB | Sort | Select SamAccountName, Name | ForEach-Object { $counter++ $sheet.cells.Item($counter,1) = $_.SamAccountName $sheet.cells.Item($counter,2) = $_.Name } Update. Bin ein ganzes Stück weiter gekommen. Im Endeffekt muss ich die erstellt Datei nur noch speichern cls $excel = New-Object -ComObject excel.application $excel.visible = $True $workbook = $excel.Workbooks.Add() $workbook.Worksheets.Add() $excel.DisplayAlerts = $False $sheet= $workbook.Worksheets.Item(1) #Block-USB #Tabelle benennen $sheet.Name = 'Block-USB' #Tabellenüberschriften setzen $sheet.Cells.Item(1,1) = 'Username' $sheet.Cells.Item(1,2) = 'Anzeigename' #Tabelle füllen $row = 2 $column = 1 Get-ADGroupMember Role-CMT-McAfee-Block-USB | Sort | Select SamAccountName, Name | ForEach { #SamAccountName $sheet.Cells.Item($row,$column) = $_.SamAccountName $column++ #Name $sheet.Cells.Item($row,$column) = $_.Name $column++ #Increment to next Row and reset Column $row++ $column = 1 } $usedRange = $sheet.UsedRange $usedRange.EntireColumn.AutoFit() | Out-Null #Monitor-USB $sheet= $workbook.Worksheets.Item(2) $sheet.Name = 'Monitor-USB' $sheet.Cells.Item(1,1) = 'Username' $sheet.Cells.Item(1,2) = 'Anzeigename' #Tabelle füllen $row = 2 $column = 1 Get-ADGroupMember Role-CMT-McAfee-Monitor-USB | Sort | Select SamAccountName, Name | ForEach { #SamAccountName $sheet.Cells.Item($row,$column) = $_.SamAccountName $column++ #Name $sheet.Cells.Item($row,$column) = $_.Name $column++ #Increment to next Row and reset Column $row++ $column = 1 } $usedRange = $sheet.UsedRange $usedRange.EntireColumn.AutoFit() | Out-Null Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.