EmmKay 2 Geschrieben Gestern um 08:06 Melden Geschrieben Gestern um 08:06 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 Zitieren
Beste Lösung cj_berlin 1.412 Geschrieben Gestern um 08:27 Beste Lösung Melden Geschrieben Gestern um 08:27 Ja, das sind Serialisierungsartefakte. Du könntest sowas machen: [PSCustomObject]@{ ComputerName = $env:COMPUTERNAME Result = $test } | ConvertTo-Json dort wo Du $test zurückgibst. Zitieren
cj_berlin 1.412 Geschrieben Gestern um 09:27 Melden Geschrieben Gestern um 09:27 Oder vielleicht sogar ohne JSON, ist ja dann dennoch nur ein Objekt pro Zielsitzung. Zitieren
EmmKay 2 Geschrieben Gestern um 12:05 Autor Melden Geschrieben Gestern um 12:05 Vielen Dank. Das war ja einfach. Ich bevorzuge hier auch die Variante ohne extra nach JSON zu konvertierten. So kann ich direkt auf die Eigenschaften zugreifen. Zitieren
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.