/ / PowerShell con oggetti modulo finestra di sistema Come visualizzare il riquadro comandi o le caselle di confim - winforms, shell, powershell, powershell-v3.0

PowerShell con oggetti modulo finestra di sistema Come visualizzare il riquadro comandi o le caselle di confim - winforms, shell, powershell, powershell-v3.0

Ho uno script PowerShell che mi piace eseguire con un'interfaccia visiva (GUI - con elementi di Windows Form). Tutto sta funzionando finora, ma ho un grosso problema:

È possibile visualizzare il riquadro dei comandi da PowerShell sul Windows Form creato? Per esempio: In una parte del mio script PowerShell sto eseguendo il seguente comando:

Upgrade-SPContentDatabase DBName

Questo comando richiede di confermare alcuni messaggicon "Sì / No" che verrà normalmente visualizzato nel pannello dei comandi di PowerShell ... Può essere eseguito tramite Windows Form in modo che sia possibile nascondere la finestra di PowerShell-Script in background?

O c'è un altro modo per visualizzarlo in una nuova finestra che appare?

Immagine dello schermo: inserisci la descrizione dell'immagine qui

Qualche idea?

risposte:

0 per risposta № 1

UN messagebox (GUI) è diverso da un prompt. Finché si esegue uno script nella console di PowerShell (non ISE), i prompt verranno visualizzati nella console. (Potrebbe esserci un'impostazione per renderli simili a quelli della GUI in ISE). Una soluzione alternativa sarebbe provare e disabilitare i prompt di conferma nello script e creare a messagebox te stesso.

Prova quanto segue nel click-handler del tuo pulsante:

$handler_button1_Click=
{
$n = [System.Windows.Forms.MessageBox]::Show("Are you sure?", "Confirm", [System.Windows.Forms.MessageBoxButtons]::YesNo)
if ($n -eq "Yes") {
#Ignore confirm dialogs with -Confirm:$false
Upgrade-SPContentDatabase DBName -Confirm:$false
}
}