带有系统窗口的PowerShell表单对象如何显示命令窗格或配置框

时间:2013-05-26 10:26:20

标签: winforms shell powershell powershell-v3.0

我有一个PowerShell脚本,我喜欢使用Visual Interface(GUI - 使用Windows Form元素)运行到目前为止一切正常但我有一个大问题:

是否可以在创建的Windows窗体上显示PowerShell的命令窗格? 例如:在我的PowerShell脚本的一部分中,我运行以下命令:

Upgrade-SPContentDatabase DBName

此命令需要确认一些带有“是/否”的消息,这些消息通常会显示在PowerShell的命令窗格中...这可以通过Windows窗体完成,这样我就可以隐藏PowerShell脚本窗口了背景

或者还有其他方法可以在新窗口中显示它吗?

截图: enter image description here

任何想法?

1 个答案:

答案 0 :(得分:0)

messagebox(GUI)与提示不同。只要您在powershell控制台(而不是ISE)中运行脚本,提示就会显示在控制台中。 (可能有一个设置使它们像ISE一样使用GUI)。解决方法是尝试禁用脚本中的确认提示,并自己创建messagebox

在按钮的点击处理程序中尝试以下操作:

$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
    }
}