none
Powershell: Auswertung mit mehreren Feldern aus unterschiedlichen cmdlet RRS feed

  • Frage

  • Hallo,

    ich brauche ein Auswertung aller meiner Freigaben. Mit folgendem Befehl bekomme ich "fast" genau das was ich brauche:

    Get-SmbShare -name * | sort name | Get-SmbShareAccess | ft Name, AccountName, AccessRight, Path

    Mein Problem ist das Feld "Path", dieses gibt es im cmdlet: Get-SmbShareAccess nicht, sondern kommt im cmdlet: Get-SmbShare vor.

    Wie kann ich einen Feldinhalt über mehrere cmdlet übertragen?

    Danke

    Montag, 23. März 2020 15:46

Antworten

  • Moin,

    elegant? Nur mit Schleifen, etwa:

    foreach ($share in (Get-SmbShare -Name * | Sort Name)) {
        $share | Get-SmbShareAccess | Foreach-Object {
            [PSCustomObject]@{
                'Path' = $share.Path
                'AccountName' = $_.AccountName
                'AccessRight' = $_.AccessRight
            }
        }
    } 
    


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Montag, 23. März 2020 15:56

Alle Antworten

  • Moin,

    elegant? Nur mit Schleifen, etwa:

    foreach ($share in (Get-SmbShare -Name * | Sort Name)) {
        $share | Get-SmbShareAccess | Foreach-Object {
            [PSCustomObject]@{
                'Path' = $share.Path
                'AccountName' = $_.AccountName
                'AccessRight' = $_.AccessRight
            }
        }
    } 
    


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Montag, 23. März 2020 15:56
  • Gar nicht. Dafür musst du dir eine Schleife (foreach) bauen und dir die benötigten Eigenschaften zusammenbauen.
    Montag, 23. März 2020 16:03
  • Hallo,

    genau was ich suche.

    Ist eigentlich ganz logisch und es zeigt mir, dass ich schon noch etwas üben muss :)

    Danke

    Samstag, 4. April 2020 12:04