Ich suche nach einer Möglichkeit, mehrere Fortschrittsbalken anzuzeigen, einen für eine äußere Schleife und einen für eine innere. Ich habe ein Skript, das eine große Liste von benutzerdefinierten Objekten durchläuft, und für jedes dieser Objekte habe ich eine innere Schleife, die Aktionen in einer Liste ausführt, die ein Attribut dieser Objekte ist.Mehrere Powershell-Fortschrittsbalken (verschachtelt?)
Script Beispiel:
$ListOfIDs.Keys |
Show-Progress | #Outer Loop - ProgressBar1
% {
$entityName = $_
$TableIndex = $ListOfEntities.Name.IndexOf($entityName)
$TableNameList = $ListOfEntities[$TableIndex].Group.RoleTable
$ListOfIDS[$_] |
Show-Progress | #Inner Loop - ProgressBar2
% {
$ID = $_.ID
[PSCustomObject] @{
EntityName = $entityName
Id = $ID
Roles = $TableNameList | Function-FooBar -ID $ID
}
}
}
Show-Fortschritt Funktion:
function Show-Progress
{
[CmdletBinding()]
param (
[Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)]
[PSObject[]]$InputObject
)
[int]$TotItems = $Input.Count
[int]$Count = 0
$Input|foreach {
$_
$Count++
[int]$PercentComplete = ($Count/$TotItems* 100)
Write-Progress -Activity "Processing items" -PercentComplete $PercentComplete -Status ("Working - " + $PercentComplete + "%")
}
}
Hier ist ein kleines Beispiel von dem, was ich suche:
Das erreicht, was ich perfekt wollte, ich kann nicht glauben, dass ich die Elterneigenschaft nie bemerkt habe, fühle mich jetzt dumm. Danke für die Hilfe! –
Gern geschehen :) –