Jump to content

PowerShell: Invoke-Command liefert einzelne Objekte


Direkt zur Lösung Gelöst von cj_berlin,

Empfohlene Beiträge

Geschrieben

Unterhalb des Registrierungsschlüssel HKEY_CURRENT_USER\TEST befinden sich mehrere Unterschlüssel, deren Namen durchnummeriert sind.  Per Invoke-Command frage ich die Unterschlüsseln von mehreren Remotemaschinen ab. Leider bekomme ich jeder einzelne Objekt, und nicht wie erwartet, die Sammlung zurück. Die Varianten, den Inhalt der Pipeline in einer Variablen  zu speichern noch jedes Objekt einer ArrayList hinzufügen, brachten das gewünschte Ergebenis. Führe ich den Skriptblock lokal aus, funktioniert es erwartungsgemäß.

 

Wie muss ich mein Skript abändern, damit  ichdie Sammlung und nicht jedes einzelne Ojekt von den remote abgefragten Computern erhalte?

 

$params = @{
    ComputerName = Get-ADComputer -Filter 'Name -like "test*' | Select-Object -ExpandProperty Name
    ScriptBlock  = {
        $regKey    = 'Registry::HKEY_CURRENT_USER\TEST'

        $test = New-Object -TypeName System.Collections.ArrayList
        # $test = Get-ChildItem -Path $regKey -Recurse -ErrorAction SilentlyContinue | 
        Get-ChildItem -Path $regKey -Recurse -ErrorAction SilentlyContinue | 
        ForEach-Object {
            $null = $test.Add(
                [pscustomobject]@{
                    Version = [int]($PSItem | Select-Object -ExpandProperty PSChildName)
                    IsValid = [boolean]$PSItem.GetValue('IsValid', $false)
                })
        }

        $test

    }
    Credential   = Get-Credential -Message 'Please enter your credentials'
    AsJob        = $true
}

$job = Invoke-Command @params
Wait-Job -Job $job
Receive-Job -Job $job -Keep 

 

  • Lian changed the title to PowerShell: Invoke-Command liefert einzelne Objekte

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...