lima-city: Webhosting, Domains und Cloud
0 Pluspunkte 0 Minuspunkte

Angenommen ein Powershell Ergebnis enthält Objekte mit den Feldern

FolderPath
IdentityReference
FileSystemRights
IsInherited

Wie kann ich ein zusätzliches Feld hinzufügen das aus 2 bestehenden zusammengesetzt ist? Ich möchte (nur als Beispiel) ein Feld "RightsInheritance" hinzufügen das aus den Ergebnissen "Rights" und "IsInherited" zusammengesetzt ist. Wenn ein Ergebnis also so aussieht

FolderPath: "C:\folder"
IdentityReference: "testuser"
FileSystemRights: "read,write"
IsInherited: "true"

soll zusätzlich ein Feld haben

Rights_Inheritance: "read,rwite_true"

Wie kann ich das in Powershell?

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

In PowerShell kannst du mit Select-Object und einer sogenannten calculated property ein neues Feld hinzufügen, das auf bestehenden Werten basiert. Online Demo

# Beispielhafte Objekte
$items = @(
    [PSCustomObject]@{
        FolderPath        = "C:\folder"
        IdentityReference = "testuser"
        FileSystemRights  = "read,write"
        IsInherited       = "true"
    },
    [PSCustomObject]@{
        FolderPath        = "D:\data"
        IdentityReference = "admin"
        FileSystemRights  = "fullcontrol"
        IsInherited       = "false"
    }
)

# Neues Feld "Rights_Inheritance" hinzufügen
$itemsWithExtraField = $items | Select-Object *, @{
    Name       = 'Rights_Inheritance'
    Expression = { "$($_.FileSystemRights)_$($_.IsInherited)" }
}

# Ausgabe
$itemsWithExtraField
von (593 Punkte)