Unfähig Liste der Datenbanken vor der Selektion in Powershell-Abschnitt zu platzieren

stimmen
0

Ich betreibe diesen Code

$qry = select * from sys.databases
$potentialSourceDatabases = @(Invoke-Sqlcmd -ServerInstance $azureSQLServerDNS `
 -Database $azureDatabase -Username $SQLUsername -Password $SQLPassword `
 -Query $qry -QueryTimeout 1200) | select-object -expand Name

$potentialSourceDatabasesTable = @()
$databaseCounter = 1

foreach ($item in $potentialSourceDatabases){
    $itemProperties = @{
        DBNumber = $databaseCounter++
        DBName = $item
    }
    $potentialSourceDatabasesTable += New-Object -TypeName PsObject -Property $itemProperties
}

$potentialSourceDatabasesTable

$sourceDatabaseNumber = Read-Host -Prompt 'Please select the number of the desired source database'
$output = $potentialSourceDatabasesTable | Where-Object{$_.DBNumber -eq $sourceDatabaseNumber}  | select-object -expand DBName
Write-Host You selected database is $sourceDatabaseNumber with name $output

und ich erhalte die folgende Ausgabe:

Bitte wählen Sie die Nummer der gewünschten Source-Datenbank: 1

Sie ausgewählte Datenbank ist 1 mit dem Namen Master

DBNumber DBName


1 Master
2 ProdCopy1
3 ProdCopy2

Aber ich erwarte, dass die Ausgabe der Liste der Datenbanken, bevor die Aufforderung erscheint die gewünschte Datenbank auszuwählen.

Ich habe nichts dagegen, wenn die Lösung die Hash-Tabelle oder eine andere Strukturbildung umfassen. Ich versuchte, die hastable mit:

$hashTable = @{}
$counter = 1

foreach ($item in $potentialSourceDatabases)
{
    $hashTable.Add($counter++,$item)
}
$getDatabaseNumber = Read-Host -Prompt 'Select source database number'
Write-Host You selected database #$getDatabaseNumber $hashTable.Item($getDatabaseNumber) 

aber es zurückgegeben Select-Source-Datenbank-Nummer: 1 Sie ausgewählte Datenbank # 1 System.Collections.Hashtable.Item (1)

Könnten Sie mir bitte helfen, den Code so zu modifizieren, dass die Liste der Tabellen vor dem Auswahlabschnitt erscheinen?

Veröffentlicht am 07/11/2018 um 23:53
quelle vom benutzer
In anderen Sprachen...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more