Powershell export to csv?

1 Antwort

Vielleicht "Export-Csv" statt "Add-Content" verwenden.

$Postfach = Get-Mailbox -ResultSize Unlimited | Where-Object { $_.PrimarySmtpAddress -like "*.de" } | Select-Object DisplayName, UserPrincipalName

$ErgebnisListe = @()  # Initialisiere eine leere Liste

foreach($User in $Postfach) {
    $Ergebnis = Get-MailboxPermission $User.UserPrincipalName | Select Identity,User,@{name="AccessRights";expression={ [string]::join(",",@($_.accessrights)) }}
    $ErgebnisListe += $Ergebnis  # Füge das Ergebnis zur Liste hinzu
}

$ErgebnisListe | Export-Csv -Path c:\Beispiel.csv -NoTypeInformation -Delimiter ";"


Aleex0709311 
Fragesteller
 17.08.2023, 09:57

Ne, hatte ich selbst bereits probiert. Habe die Lösung aber gefunden.

$Postfach = Get-Mailbox -ResultSize Unlimited | Where-Object { $_.PrimarySmtpAddress -like "*.de" } | Select-Object DisplayName, UserPrincipalName, AccessRights

foreach($User in $Postfach) {

Get-MailboxPermission $User.UserPrincipalName | Select Identity,User,@{name="AccessRights";expression={ [string]::join(",",@($_.accessrights)) }} | Add-Content Beispiel.csv

(Get-Content -Path c:\Beispiel.csv -Raw).Replace("@{Identity="," ").Replace("User="," ").Replace("AccessRights="," ").Replace("}"," ") | Set-Content c:\Beispiel2.csv

0